用于放大屏幕大小

时间:2015-11-06 06:46:29

标签: ios interface-builder constraints

界面构建器真的很新。我有5个均匀间隔的按钮。在iPhone5屏幕中进行设置。我希望按钮和边界之间的间距保持不变,但按钮会随着屏幕的大小增加(保持相同的宽高比)。

enter image description here

我如何为此设置约束?我是否需要在按钮或其他东西之间放置隐形垫片?

2 个答案:

答案 0 :(得分:3)

这样做:

  1. 将所有按钮放在UIView

  2. 将约束设置为UIView前导顶部追踪高度宽度

  3. 为UIView内的所有按钮设置约束为顶部前导宽度高度

  4. 然后一起选择第一个按钮和UIView,然后使它们等宽并根据您需要的按钮数设置此约束的乘数,此时设置优先级UIView's宽度约束到900(这很重要)。与按钮的宽度约束相同。

  5. 现在选择所有按钮并将它们设置为相等的宽度,并根据按钮的宽度设置此约束的乘数。

  6. 删除除第一个按钮以外的所有按钮的宽度约束。

答案 1 :(得分:2)

查看heirarchy:

enter image description here

最终输出:

enter image description here

<强>解决方案:

我已经开始从中心的按钮实现约束,即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)如果您需要对任意数量的按钮进行相同的排列,您只需要使用中心按钮的宽度约束

示例项目:

链接到Sample Project

注意:此解决方案仅适用于奇数个按钮