我正在使用自动布局。面对有趣的问题。幸运的是,它暂时克服了它,但需要知道解决问题的最佳方法。
问题: 如上图所示,我有几个按钮。两者都需要放置在距离UIView中心等距离的位置(粗体垂直线是视图的中心)。此外,我必须以这样的方式应用约束,即按钮之间的距离将自动调整。例如距离应为设备宽度的25%。如果我的设备宽度为320,则按钮之间的距离为80像素,依此类推。
解决方案(我已尝试过):
对于上述问题,我尝试了解决方案。如图所示,我在UIView中添加了虚拟视图,虚拟视图的宽度等于两个按钮之间的间距。然后我将约束应用于虚拟视图。例如:1. Horizontal centre of the UIView 2.Width equals to the UIView width with 0.25 as a multiplier
问题: 以上解决方案对我来说非常合适。但是如果将来如果我的视图会有太多复杂的元素,那么添加虚拟视图可能不是一个好主意。那么,还有其他干净的方法吗?
答案 0 :(得分:17)
我遇到了同样的问题。我决定使用rdelmar的回答。
这就是我所做的。
左键:
右键:
让我知道它是否适合你。
答案 1 :(得分:2)
您可以通过在屏幕右边缘使用约束来在故事板(或xib)中执行此操作 - 右边缘的值与屏幕的宽度相同,因此您可以将其用于计算。对于左键,您希望其后缘等于超级视图的右边缘时间0.375(0.5减去.125,这是您25%要求的一半)。右边按钮的前沿等于superview的右边缘时间0.625(.5 + .125)。
约束看起来像这样,
答案 2 :(得分:0)
尝试将btn2的前缘和btn1的后缘与视图集的中心y对齐,并将乘数200:160和120:160分别对应,其中心y为第二项