自动布局定义约束
Posted
技术标签:
【中文标题】自动布局定义约束【英文标题】:Auto Layout defining constraints 【发布时间】:2014-05-29 16:36:29 【问题描述】:我的UIView
上有两个按钮。我希望这两个按钮之间的水平距离应该是超级视图的 20% 宽度?
对此有何帮助?
【问题讨论】:
【参考方案1】:您可以在两个按钮之间使用一个空的虚拟视图来完成此操作,其宽度是父视图宽度的 20%。
在代码中,它看起来像这样:
// The important thing here is that the buttons are flush against the spacer
[superview addConstraints:
[NSLayoutConstraint
constraintsWithVisualFormat:@"[button1]-0-[spacer]-0-[button2]"
options:0
metrics:nil
views:@@"button1" : button1, @"button2" : button2, @"spacer" : spacer]];
// Here, we set the width of the spacer to 20% of the super view
[superview addConstraint:
[NSLayoutConstraint
constraintWithItem:spacer
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:superview
attribute:NSLayoutAttributeWidth
multiplier:0.2
constant:0]];
【讨论】:
我遇到了与 IB 为 Portrate 和 Landscape 设置自动布局约束有关的问题,您能提供与此相关的帮助吗?实际上我想在单个视图中设置 10 个按钮,以便如何在 Portrate 和 Landscape 模式下进行管理. @DineshPatel 最好为您的问题打开一个新问题。以上是关于自动布局定义约束的主要内容,如果未能解决你的问题,请参考以下文章
在自定义 UIView 类 Iphone 上应用自动布局约束。