【发布时间】:2014-10-22 20:38:34
【问题描述】:
使用带有 UILabel 的 Auto Layout 时遇到一个奇怪的问题,它的大小几乎调整到其内容大小减去一行(让我抓狂)。所以基本上,当缩小到 iPhone 5 或 6 时,它似乎到达了应该减去几个像素的位置,从而导致最后出现椭圆。它在 6+ 上运行良好,这就是 XIB 的大小。
这是 XIB 的外观以及我设置的约束条件。标签是“这里的大长标签是事件描述”。
基于这个stack post,我想我会弄明白的。我尝试了帖子中提到的两种方法。屏幕截图中的所有四个约束都设置为 1,000。如果我按照帖子所说的那样添加优先级为 500 的高度约束,低于垂直拥抱和垂直抗压优先级,它仍然不起作用。我也只是没有设置高度约束,保留了首选宽度设置,并设置了前导和尾随空间约束,这在 cmets 中提到。行数设置为0。
为了提供更多详细信息,UILabel 位于UIView 中,设置为contentView。然后我将contentView 添加到UIScrollView。 UIScrollView 通过将contentView 固定在 0 到所有四个边来自动调整大小。 contentContainer 也受限于屏幕宽度(不理想,但只有这样我才能让它工作 - 不确定它是否与这个问题有关)。我在控制台中没有遇到任何约束问题。对于contentView,translatesAutoresizingMaskIntoContraints 设置为 NO。这是UILabel 运行时的样子:
底部应该长一行以适应。有人请帮助我!
【问题讨论】:
标签: ios objective-c iphone autolayout constraints