多行 UILabel 和 UIScrollview 使用自动布局
Posted
技术标签:
【中文标题】多行 UILabel 和 UIScrollview 使用自动布局【英文标题】:Multiline UILabel with UIScrollview using autolayout 【发布时间】:2015-03-14 09:53:08 【问题描述】:我在scrollview
中阅读了很多contentview
的帖子,但问题略有不同。查看图片
我有以下层次结构
这里的label
是multiline label
,它的内容大小太多了。
所以,问题是
1.根据label
的线条,label
的高度发生变化
2.根据label
的高度,contentview
的高度变化。
所以,它滚动。我希望用autolayout
来完成这些事情。
我想提一提的是,我使用的是 ios 8.1
和 xcode 6.1
【问题讨论】:
【参考方案1】:你可以为你的 UILabel 使用的东西是 -> 选择你的标签并转到 Attributes Inspector 并找到 Autoshrink 将其设置为 Minimum font size 然后你可以描述你的最小字体大小。
除了您的视图,您可能希望在标签和内容视图之间使用约束。所以我推荐使用这个文档Auto Layout Guide。如果文档太长而无法阅读,您可以阅读this answer。
【讨论】:
【参考方案2】:您应该将约束添加到内容视图作为前导、尾随、顶部、底部和等宽和等高与滚动视图。对于 imageView 添加约束作为前导、尾随、顶部和高度。对于标签添加约束作为前导、尾随、顶部和底部,还要检查您是否将行数设置为零。 & 对于阅读更多按钮,在容器和底部添加高度、宽度、水平居中等约束。不要忘记为按钮添加底部约束,否则您的滚动视图无法理解其内容大小,并且您将收到警告,因为滚动视图的内容大小不明确。
【讨论】:
以上是关于多行 UILabel 和 UIScrollview 使用自动布局的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式将 UILabel 和 UIImageViews 添加到 UIScrollView
使用 Interface Builder 和 Autolayout 在 UIScrollView 中正确调整 UILabel 的大小?