Autolayout - 与不同屏幕上的对象不同的空间

时间:2015-10-05 14:10:19

标签: ios autolayout

我正在尝试为屏幕创建一个布局,但我遇到了一个问题 - 在不同的屏幕尺寸上,两个文本视图之间的空间不同。

enter image description here

我不明白它为什么会发生 - 我明确地告诉IB在两个视图之间建立垂直间距。

我的约束看起来像这样

enter image description here

enter image description here

我做错了什么?有什么建议吗?

2 个答案:

答案 0 :(得分:1)

,两个文字视图之间的大小没有变化。

看起来两者之间会有更多空间的原因是因为更多文本适合一行,因此文本的总高度在较宽的设备上较少。

您可以通过更改文本视图的背景颜色来自行查看。

如果您确定需要在两个文本视图之间保留完全相同的空间,无论其中包含哪些内容(考虑到其他语言中的文本可能完全不同),您有两个选项:< / p>

  1. 以编程方式计算文本的高度并设置高度约束。有各种各样的方法可以让你这样做(sizeWithAttributesboundingRectWithSize:),但是我用它们已经很久了,它们可能会被弃用。
  2. 利基解决方案是将整个视图更改为表格视图。您可以根据内容自动增长表格视图单元格(从iOS 8开始)。
  3. 我更喜欢第二种解决方案。

答案 1 :(得分:0)

我认为你必须在代码中处理这个问题。我相信正在发生的事情是,即使没有足够的文本来填充该空间,您的文本视图也会占用一定的空间。然后,从底部应用间距。

为文本视图添加背景颜色,这应该显示是否发生这种情况。

如果是这种情况,则需要根据提供的文本更新文本视图大小。

修改

脱离我的头顶。你能不能只使用一个textview并使用属性文本来添加段间间隔的段落?