在界面构建器中,我可以通过'固定'获得与“标准”间距匹配的“垂直空间”:
在视觉约束语言中,我可以用以下方法完成同样的事情:
V:[top]-[bottom]
如何在代码中的两个视图之间添加标准间距?
我正在寻找可能出现在UIViewController中的类似内容:
NSLayoutConstraint *spacing = ???
[self.view addConstraint spacing];
答案 0 :(得分:5)
我没试过这个:
[self.view addConstraint:[NSLayoutConstraint
constraintWithItem:topView
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:bottomView
attribute:NSLayoutAttributeTop
multiplier:1
constant:8]];
答案 1 :(得分:2)
混合和匹配视觉格式约束和更详细的单一约束创建样式(当你说“在代码中”时我认为你指的是)很好 - 事实上,在WWDC谈论自动布局时,“首选“您创建约束的顺序表示为:
除非你需要单一约束风格给你的额外力量和灵活性(并且有许多地方可视格式不起作用,根据我迄今为止的体验),你应该使用视觉格式。听起来你是从下往上接近上面的列表,而不是自上而下。
如果您想使用标准间距布置视图,并且您没有使用IB,那么可视化格式将有意义使用。正如Rob所说的那样,“标准”间距并不常见,而且你通过坚持对所有事物的单一约束来为自己做更多的工作。