我为此问题设置了一个测试项目(project here)以更好地说明我的问题,但这是我面临的核心问题:
我有一个UILabel
嵌套在内容UIView
中,它本身嵌套在UIScrollView
中,而这一切都是使用AutoLayout进行布局的。我的初始布局效果很好,标签被正确截断,以适应初始布局约束所需的内容视图。到目前为止一切都很好。
现在的问题是我想要添加"扩展"标签上的行动。我们可以说,内容视图上的任何点按都应该展开标签,以便不再截断,而不是在contentView
的范围内截断,我希望scrollView
& #39; s contentSize
增加,以便现在可以滚动完整标签的文字。我应该怎样做到这一点?
在示例项目中,点按内容视图会调整整个scrollView
约束,以说明标签现在有不同的空间可供使用。我现在不知道如何让scrollView
重新计算它contentSize
以使标签不再截断。
我尝试过播放内容压缩优先级,并根据正在执行的操作进行更改,如下所示:
theLabel.setContentCompressionResistancePriority(UILayoutPriorityRequired, forAxis: .Vertical)
但这似乎并没有真正强制标签不会被截断。我也尝试在点按操作上使scrollView
的内在内容大小无效,但无济于事。如何切换标签是否应截断?
答案 0 :(得分:1)
通常,您有一个约束,它将标签或视图的高度固定到您的最小高度,当您想要展开时,禁用它(使其处于非活动状态)并布局视图。压缩重新启用约束并布局视图。