【发布时间】:2017-06-27 16:06:16
【问题描述】:
使用约束,是否可以在故事板中垂直居中视图而不创建容器视图?
更新:为了清楚起见,我想要描述带有约束的垂直居中,以便它在不同尺寸的设备屏幕上保持垂直居中。 (即我不想手动将顶部和底部约束设为相同的值。)
【问题讨论】:
-
对不起;不得不为此查找我的旧解决方案;忘了我必须添加间隔视图,然后说间隔视图的高度相同。 (您可以使两个视图具有相同的高度,但不能在 IB 中使两个约束具有相同的大小。)有关如何在代码中执行此操作,另请参阅:stackoverflow.com/questions/18768513/…
-
你可以在没有 container 视图的情况下做到这一点。这取决于您问的原因:1)您不想创建任何其他视图,或者 2)您不希望图像成为另一个视图的子视图。如果是第二个,那么您可以创建跨越标签和底部之间空间的图像视图的同级视图,然后将该视图的 centerY 约束为与您的 imageView 相等。 Rob 的 spacer 视图将是没有 container 视图的第二种方式。
-
不使用容器(或间隔)视图的原因是使用不可见的视觉对象感觉不对。 Apple 在 iOS9 中添加了
UILayoutGuides,从而消除了添加不可见视图的需要。遗憾的是,它们似乎并没有在情节提要中完全可用。
标签: ios autolayout storyboard nslayoutconstraint