在代码中,我可以在两个对象之间设置约束,使它们相对......
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:item1
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:item2
attribute:NSLayoutAttributeWidth
multiplier:0.9
constant:0]];
或者他们有不同的差异......
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:item1
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:item2
attribute:NSLayoutAttributeWidth
multiplier:1.0
constant:-30]];
或事件,因此它们涉及同一项目的不同属性......
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:item1
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:item1
attribute:NSLayoutAttributeHeight
multiplier:1.0
constant:0]];
是否可以使用Interface Builder来应用这些类型的约束?
答案 0 :(得分:3)
现在可以在XCode 5.1中使用。
这是5.0的变化。当您添加例如“等宽”约束时,您现在可以转到检查器,有一个新字段,您可以在其中输入乘数值(以及其他新事物),从而创建一个按比例大小的视图,该视图可以与其容器相关或层次结构中的其他视图。
答案 1 :(得分:3)
可以在界面构建器中使用。选择有问题的IB项目并检查其上的约束。选择和编辑将显示约束的乘数设置。
答案 2 :(得分:0)
请注意,您也可以输入百分比,例如50%。侧箭头允许递增和递减.1或1%
设置相对于超视图(或图像视图)中心x,y的%乘数(常数0)非常方便,允许标签或文本字段跟踪视图或图像中的特定位置,而不管其最终位置或比例。
您可以通过选择主视图并转到以下内容来查看约束的作用: 编辑 - >解决自动布局问题 - >更新帧和不同的元素将根据其约束移动。
有时IB会即时更新,但通常不会。