有几种可能的方法。
1)NSStackView
一个新的肥胖型类(出现于10.9),其处理子视图的水平或垂直堆叠。
2)约束
约束允许您定义视图空间关系到彼此,但他们最容易在Interface Builder管理,可以是一个有点复杂与编程工作。
3)在代码中设置每个按钮的框架 通过相当简单的循环,您可以定位按钮的方式。这是三种方法中最“手动”的,但也可以说是最清楚和可预测的。下面是一个定位按钮的方法示例。
- (void)arrangeViews:(NSArray <NSView *> *)views startingAt:(NSPoint)startPt spacing:(NSSize)spacing
{
NSPoint loc = startPt;
for (NSView *view in views) {
NSRect viewFrame = view.frame;
viewFrame.origin = loc;
view.frame = viewFrame;
loc.x += spacing.width;
loc.y += spacing.height;
}
}
如果要垂直排列的3个按键,每一个50个像素分开,然后你会打电话像这样的方法:
[self arrangeViews:@[btn0, btn1, btn2] startingAt:NSMakePoint(100,100) spacing:NSMakeSize(0,-50)];
来源
2016-01-22 22:37:01
TyR