Cocoa 如何以编程方式将弹簧和支柱添加到NSView的子视图中

Cocoa 如何以编程方式将弹簧和支柱添加到NSView的子视图中,cocoa,interface-builder,Cocoa,Interface Builder,基本上我有一个NSView子类,它通过编程生成了一大堆子视图。我希望它们以网格方式排列,每个网格之间有一个点 我知道我可以通过使用springs和struts在IB中实现这一点,有没有一种方法可以通过编程方式添加springs和struts 假设可以从左上角的x,y(从1开始)获取任何给定的子视图。 像这样 _____________________ | | | | | 1, 1 | 2, 1 | 3, 1 | |______|______|______| |

基本上我有一个NSView子类,它通过编程生成了一大堆子视图。我希望它们以网格方式排列,每个网格之间有一个点

我知道我可以通过使用springs和struts在IB中实现这一点,有没有一种方法可以通过编程方式添加springs和struts

假设可以从左上角的x,y(从1开始)获取任何给定的子视图。 像这样

_____________________
|      |      |      |
| 1, 1 | 2, 1 | 3, 1 |
|______|______|______|
|      |      |      |
| 1, 2 | 2, 2 | 3, 2 |
|______|______|______|
|      |      |      |
| 1, 3 | 2, 3 | 3, 3 |
|______|______|______|

实际上,弹簧和支柱不能这样做。使用弹簧和撑杆时,关系仅在图幅与其superview边界之间,而不是与其邻居之间


无论如何,您认为的弹簧和支柱是视图的
autoresizingMask
。您可以使用
-setAutoresizingMask:

设置它。我如何使用自动调整大小的遮罩来制作我想要的?它们是如何工作的?正如我所说,我不相信你能用自动调整大小的面具做你想做的。遮罩指示视图的边与其超级视图的对应边之间的边距是否可以随着超级视图的增长和收缩而增长或收缩,同样,还指示视图的宽度或高度是否可以增长。在水平方向上,左边是边距,右边是宽度和边距。superview大小的更改分布在允许更改的多个视图之间。在垂直方向上类似。