我想做UIViews,UILabels等从中间屏幕开始使用InterfaceBuilder这样对齐......
蓝色 - 中间屏幕
红色 - 从中间向屏幕边框对齐的控件。
可能需要什么约束(S)?
答案 0 :(得分:1)
float middle = self.view.bounds.size.width/2;
for (int i = 0; i < 10; i++) {
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(middle, 0.0 + (75.0 * i), 100.0, 50.)];
[self.view addSubview:view];
}
非常简单,只需将x位置设置为CGRect中的屏幕中间
即可答案 1 :(得分:1)
您可以将该顶视图赋予屏幕左边缘约束,其值为屏幕宽度的一半。然后,您可以选择所有视图,并在画布右下角的“对齐”按钮的“添加新对齐约束”部分下选择“前导边缘”。
答案 2 :(得分:1)
您基本上是在寻找每个孩子的前沿,使其成为父母宽度的一半。
根据文档,constraintWithItem:...
使用公式attribute1 == multiplier × attribute2 + constant
,因此对于每个子视图,您可以使用约束来执行此操作:
[NSLayoutConstraint constraintWithItem:view
attribute:NSLayoutAttributeLeading
relatedBy:NSLayoutRelationEqual
toItem:view.superview
attribute:NSLayoutAttributeWidth
multiplier:0.5
constant:0]
您可以创建一个子视图来托管具有一个约束的所有子项,而不是为每个子项执行一次。
就“接口”构建器而言,Xcode 5中没有任何内容。 0 允许您执行此操作,但您应该检查开发人员程序以获取测试版。