【发布时间】:2014-11-17 05:54:12
【问题描述】:
我正在尝试添加一个多行 UI 标签作为标题,然后添加一个 UITextView 作为内容主体。
我已经添加了 UILabel 和 UITextView 如下:-
标签的行数设置为 0,字符换行和标准的左、右、下和上约束。我还设置了最小高度限制,但这似乎并没有改变任何东西。它下面的 UITextView 对标签有一个顶部约束,对视图/布局指南有左、右和底部约束。
实际输出是这样的:-
这个标签应该有 3 行,但它只显示 2 行/
此标签应有 2 行,文字为“三环类抗抑郁药”,但最后一行不可见。
我的设置/约束有什么问题吗?
谢谢
【问题讨论】:
-
我假设您在两个标签上都设置了 preferredMaxLayoutWidth。您可以尝试将最大布局宽度减小...例如标题标签的 10 个点吗?我最近有一种预感,iOS 8 有一个错误。
-
感谢您的评论。我没有为任何一个控件设置 preferredMaxLayoutWidth。我需要设置它还是可以使用情节提要完成所有事情?
-
在 iOS 8 中,界面生成器中有一个新部分可以设置;但是,它通常不需要设置 - 它应该会自动工作。但是,如果我是对的,并且这是首选MaxLayoutWidth 的错误,您将需要在layoutSubViews 中设置它。调用 [super layoutSubViews] 后,执行
label.preferredMaxLayoutWidth = label.frame.size.width - 10之类的操作。看看这是否有效。 -
原来这是 iOS 的一个错误。我只是将preferredMaxLayoutWidth 设置为 lbl.preferredMaxLayoutWidth = self.view.bounds.width 并且它工作得很好。感谢您的所有投入。请将您的评论写为单独的答案,以便我将其标记为答案。
标签: ios swift storyboard uilabel autolayout