【发布时间】:2017-04-25 06:00:54
【问题描述】:
我在 UIScrollView 中有一个 UILabel,UIScrollView 的 contentSize 由 UILabel 中的文本量决定。通过使高度、宽度和纵横比约束为可选,我设法为 UIScrollView 内的 contentView 定义了最小高度。
这就是UIScrollView 的层次结构的样子 -
UIScrollView
contentView
UILabel
在某些情况下,即使文本很大并且使标签超出其框架,我希望将UILabel 的框架粘贴到它的方形框架上,而多余的文本会被截断。我正在使用自动布局,所以我相信仅通过设置 UILabel 的框架是不可能的,它与更改约束的优先级有关。
UILabel 的约束 -
UILabel 的前导、尾随、顶部和底部连接到 contentView。
UISCrollView的约束-
必填
超级视图的尾随、前导、顶部和底部,即UIScrollView
可选
与超级视图 (UIScrollView) 的高度和宽度相等,纵横比 = 1:1
编辑
我需要这样做,当我将UILabel 的lineBreakMode 设置为NSLineBreakByTruncatingTail 时,文本会自动被截断,textLabel.text 只返回可见文本。
【问题讨论】:
-
为什么不用 UITextView 而不是 UILabel?
-
@AbdulWaheed 由于某些其他限制,我不能这样做
-
使用表格视图代替滚动视图。
-
我会说这更像是一个黑客@KKRocks
-
啊,没有从问题中理解这一点 - 如果您有一个
IBOutlet约束,您可以在必要时简单地禁用/启用它,甚至交换约束。
标签: ios objective-c uiscrollview autolayout