有没有办法在没有代码的情况下使用autolayout缩小约束?

Gom*_*ius 1 xcode objective-c interface-builder shrink autolayout

不使用代码,我基本上试图在这张图片中实现"期望的结果":

在此输入图像描述

我希望约束"你好!" 标签在屏幕高度较短时缩小其长度.正如您在"实际结果"中看到的那样,底部的按钮不在屏幕上.我希望图像视图具有固定的宽度和高度.

我知道我可以为约束创建IBOutlets,并通过像这样的帖子建议的代码来做(自动布局 - 使视图的高度相对于半视图高度),但我试图尽量避免使用代码.

附带问题:如果在IB中无法做到这一点,那么在代码中执行此操作的最佳方法是什么?

谢谢您的帮助!

Jes*_*sak 5

是.拥有这种"分割高度"约束的最简单方法是在图像视图和屏幕顶部之间放置一个"标题"视图,并在此新标题视图中嵌入"Hello"标签.然后添加一个约束以使"Hello"标签在标题视图中垂直居中.

要使标题视图保持正确的大小,请添加约束以使标题视图的顶部固定在屏幕顶部,并将标题视图的底部固定在图像视图的顶部.

然后,您只需添加约束即可将按钮和图像视图固定在屏幕底部.(或者,请参阅下面Sulthan的评论.)

在Xcode 5.1(测试版)中,有一些用于制作更多通用约束的UI,包括您想要的约束,但您必须像这样或在早期版本的代码中执行.

  • 我会先将图像Y相对于超视图的中心固定,然后再使用"页脚"视图,因为按钮周围的垂直约束会遇到同样的问题. (2认同)