Interface Builder 约束 --> 运行 时 UITextView 变平

Interface Builder Constraints --> UITextView flattening out when run

所以我正在使用界面生成器(我不经常使用),我有两个故事板,一个用于 iPhone 5+,一个用于 iPhone 4。 iPhone 5个完美。

但是,当我 运行 应用程序在 iPhone 4 或 4 秒内时,其中一个 UITextView 的大小会缩小,就像它已经放气一样。当我使用约束时,我通常将视图放在我想要的位置,然后执行 Editor -> Resolve AutoLayout Views 或其他操作,通常视图会卡入到位。

这是它在 IB 中的样子: IB constraints

这就是我在 运行 应用程序时得到的: The UITextView when I run the app

这可能是一个非常简单的错误,但我确实觉得像 UITextView 这样的煎饼有点糟糕。有谁知道我可以 add/actions 我可以采取什么约束来使 UITextView 达到故事板中的大小?

我在 Xcode 6,我正在使用自动布局。

提前致谢,

编辑 已解决:

首先,我删除了3.5英寸的分镜,所以我只有一个分镜。 然后我选择了有问题的视图,并摆弄了不同的 iPhone 大小。一旦我在所有设备上设置了看起来不错的约束,我就在每个 phone 上 运行 它并且它起作用了:)。

我同意@Minestroni-Soup 的观点,您不一定需要使用两个不同的故事板。无论如何,这就是我解决问题的方法。首先,我会忽略水平方向,因为你的问题发生在垂直方向。如果水平方向有问题,post一个新问题。

在布局中垂直相邻的视图之间、顶部视图和顶部边框之间以及底部视图和底部边框之间放置固定高度的约束。然后创建一个约束,将一个 UITextView 的高度设置为与另一个 UITextView 的高度相同。那应该可以解决您的问题。

top border
constraint to set a vertical space of some amount
label 1
constraint to set a vertical space of some amount
textview 1
constraint to set a vertical space of some amount
label 2
constraint to set a vertical space of some amount
textview 1
constraint to set a vertical space of some amount
bottom border

请注意,以上内容并不能唯一地定义两个文本视图的高度,但如果您添加一个约束将它们的高度设置为相同,那么所有约束一起将有一个唯一的解决方案(因为标签具有明确定义的默认高度)。

希望我的解释够清楚了。