Interface Builder中的相对自动布局约束

时间:2013-05-20 16:04:48

标签: ios interface-builder autolayout

在代码中,我可以在两个对象之间设置约束,使它们相对......

[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来应用这些类型的约束?

3 个答案:

答案 0 :(得分:3)

现在可以在XCode 5.1中使用。

这是5.0的变化。当您添加例如“等宽”约束时,您现在可以转到检查器,有一个新字段,您可以在其中输入乘数值(以及其他新事物),从而创建一个按比例大小的视图,该视图可以与其容器相关或层次结构中的其他视图。

答案 1 :(得分:3)

可以在界面构建器中使用。选择有问题的IB项目并检查其上的约束。选择和编辑将显示约束的乘数设置。

AutolayoutRelativeMultiplierInterfaceBuilder

答案 2 :(得分:0)

请注意,您也可以输入百分比,例如50%。侧箭头允许递增和递减.1或1%

设置相对于超视图(或图像视图)中心x,y的%乘数(常数0)非常方便,允许标签或文本字段跟踪视图或图像中的特定位置,而不管其最终位置或比例。

您可以通过选择主视图并转到以下内容来查看约束的作用: 编辑 - >解决自动布局问题 - >更新帧和不同的元素将根据其约束移动。

有时IB会即时更新,但通常不会。