Cocoa-以编程方式垂直拉伸NSView,向下移动之后的所有内容
我有三个相互堆叠的NSView,我希望能够通过编程调整中间视图的大小以垂直拉伸,将底部视图向下移动与中间视图拉伸相同的量 这是一张ASCII图片:Cocoa-以编程方式垂直拉伸NSView,向下移动之后的所有内容,cocoa,user-interface,resize,nsview,Cocoa,User Interface,Resize,Nsview,我有三个相互堆叠的NSView,我希望能够通过编程调整中间视图的大小以垂直拉伸,将底部视图向下移动与中间视图拉伸相同的量 这是一张ASCII图片: |--------------| | 1 | |--------------| |--------------| | 2 | |--------------| |--------------| | 3 | |--------------| 基本上,我希望能够垂直拉伸NSView
|--------------|
| 1 |
|--------------|
|--------------|
| 2 |
|--------------|
|--------------|
| 3 |
|--------------|
基本上,我希望能够垂直拉伸NSView 2,这样得到的图片如下所示:
|--------------|
| 1 |
|--------------|
|--------------|
| |
| 2 |
| |
|--------------|
|--------------|
| 3 |
|--------------|
正确的方法是什么?谢谢
编辑:这里有一个后续问题 我该怎么做呢
|--------------|
| 1 |
|--------------|
|--------------|
| 2 |
|--------------|
|--------------|
| 2.5 |
|--------------|
|--------------|
| 3 |
|--------------|
为此:
|--------------|
| 1 |
|--------------|
|--------------|
| |
| 2 |
| |
|--------------|
|--------------|
| |
| 2.5 |
| |
|--------------|
|--------------|
| 3 |
|--------------|
听起来您需要一个
NSSplitView
或。听起来您需要一个NSSplitView
或。最简单的方法是使用自动调整大小的掩码
您可以使用编程设置自动调整大小掩码
- (void)setAutoresizingMask:(NSUInteger)mask
或在界面生成器中
在IB中,第一个视图的自动访问掩码是
第二点:
第三:
最简单的方法是使用自动调整大小的蒙版 您可以使用编程设置自动调整大小掩码
- (void)setAutoresizingMask:(NSUInteger)mask
或在界面生成器中
在IB中,第一个视图的自动访问掩码是
第二点:
第三:
感谢您提供CHLayoutManager的链接!看起来它真的很有用。谢谢链接到CHLayoutManager!看起来它真的很有用。太好了,这很好用。作为后续问题,如果我希望在2之后和3之前插入另一个NSView(我们称之为2.5),以便在主窗口调整大小时2和2.5都垂直扩展在一起,该怎么办?我添加了ASCII图像来演示后续问题。2.5视图的自动调整大小掩码应与第二个相同。。。确保正确设置框架@gcamp:你说的正确设置帧是什么意思?这对我来说不太合适,所以我应该检查框架的哪些方面?@gcamp:确切的问题是:当我拉伸窗口时,2和2.5重叠。太好了,这非常有效。作为后续问题,如果我希望在2之后和3之前插入另一个NSView(我们称之为2.5),以便在主窗口调整大小时2和2.5都垂直扩展在一起,该怎么办?我添加了ASCII图像来演示后续问题。2.5视图的自动调整大小掩码应与第二个相同。。。确保正确设置框架@gcamp:你说的正确设置帧是什么意思?这对我来说不太合适,所以我应该检查一下框架的哪些方面?@gcamp:确切的问题是:当我拉伸窗口时,2和2.5重叠了。