我的设计要求按钮位于两个其他对象之间.其中一个对象在视图的垂直中心(绿色).另一个物体距离底部边缘(绿色)有一定距离.现在的任务是将第三个对象(红色)放在另外两个对象之间.我使用
xcode6的新约束,我的视图是在wRegular hRegular模式.这将很容易与代码,但我正在尝试使用故事板来完成这一点.
解决方法
有一些方法:
>在iOS 9中,最简单的是定义一个具有“等间距”分布的垂直UIStackedView,然后addArrangedSubview查看三个循环子视图
> iOS 9中的另一个选项是创建两个UILayoutGuide(它将代表您图像中的两个问号),并使用addLayoutGuide将它们添加到共享超级视图中,并将它们定义为彼此相同的大小.相应的VFL可能如下所示:
"V:|[greenView1(==100)]-[layoutGuide1]-[redView(==50)]-[layoutGuide2(==layoutGuide1)]-[greenView2(==greenView1)]|"
>在早期的iOS版本中,您可以创建两个“空格”视图(UIView,具有清晰的背景,因此它们不可见),而不是使用UILayoutGuide,然后定义约束,使其高度相同,然后定义五个视图(三个圆圈和两个间隔视图)的常数为零.
它可能看起来像:
我已经使这些“间隔”视图可见,以说明这个想法,但显然你会设置它们是透明的,所以你不能在UI中看到它们.
这在逻辑上相当于iOS 9中的UILayoutGuide方法,除了UIView“spacer”视图只是比UILayoutGuide更多的开销.但是在9之前的iOS版本中,这是这个问题的常见方法.