界面构建器真的很新。我有5个均匀间隔的按钮。在iPhone5屏幕中进行设置。我希望按钮和边界之间的间距保持不变,但按钮会随着屏幕的大小增加(保持相同的宽高比)。
我如何为此设置约束?我是否需要在按钮或其他东西之间放置隐形垫片?
答案 0 :(得分:3)
这样做:
将所有按钮放在UIView
将约束设置为UIView
为前导,顶部,追踪,高度和宽度。
为UIView内的所有按钮设置约束为顶部,前导,宽度和高度
然后一起选择第一个按钮和UIView
,然后使它们等宽并根据您需要的按钮数设置此约束的乘数,此时设置优先级UIView's
宽度约束到900(这很重要)。与按钮的宽度约束相同。
现在选择所有按钮并将它们设置为相等的宽度,并根据按钮的宽度设置此约束的乘数。
删除除第一个按钮以外的所有按钮的宽度约束。
答案 1 :(得分:2)
查看heirarchy:
最终输出:
<强>解决方案:强>
我已经开始从中心的按钮实现约束,即Button4
1)持有人观点的限制
HolderView.centerY = superview.centery
HolderView跟踪/超前视图的约束
2)Button4上的限制
Button4.width = Button4.height
Button4.width = HolderView.superview.width *(1/7) - 10
(是的,它不是拼写错误Button4.width是相对于屏幕宽度而不是其持有者视图的宽度)
Button4.trailing到Spacer,Button4.leading到Spacer
Button4底部/顶部限制到superview
使所有其他按钮等于Button4(中间的按钮)
3)如果您需要对任意数量的按钮进行相同的排列,您只需要使用中心按钮的宽度约束
示例项目:
注意:此解决方案仅适用于奇数个按钮