iOS:如何为 UIScrollView 设置约束
Posted
技术标签:
【中文标题】iOS:如何为 UIScrollView 设置约束【英文标题】:iOS: how to set constraints to UIScrollView 【发布时间】:2015-11-30 10:43:46 【问题描述】:我想用垂直滚动的内容实现一个简单的UIViewController
。
我一直在尝试使用UIScrollView
,但我正在努力在 Interface Builder 中设置约束。任何人都可以说明正确的方法吗?
让我们考虑一个页面,该页面有一个带有长文本的UILabel
,以及位于文本底部的几个UIImageView
s。
【问题讨论】:
我answered 有一个类似的问题,请您仔细检查一下吗? 看看这个answer。 【参考方案1】:UIScrollView
在处理autolayout
约束和滚动功能时有两个重要属性。这些是大小和内容大小。
UIScrollView
size 是UIScrollView
与其父视图相关的大小。
您可以通过将顶部、尾随、前导、底部中的每一个固定到其父视图来设置其约束。
另一方面,UIScrollView
内容大小是与之相关的UIScrollView
子视图的大小。它基本上是可滚动的大小。设置其子视图的约束有点棘手,您不能将每个子视图的每一侧都固定到UIScrollView
。您还需要为其添加一些高度和宽度约束,这样它就不会给出模棱两可的约束警告。
例如,假设标签下方有一个UILabel
和一个UIImageView
。
创建垂直滚动内容的简单方法是:
-
将
UILabel
的顶部、前导、尾随空格限制设置为UIScrollView
设置UILabel
高宽限制
将高度约束连接到代码,以便您可以修改其值。
将UIImageView
顶部约束设置为UILabel
将UIIMageView
尾随、前导和底部空格约束设置为UIScrollView
设置UIImageView
高宽限制
根据文本更改UILabel
高度约束并调用layoutIfNeeded
【讨论】:
以上是关于iOS:如何为 UIScrollView 设置约束的主要内容,如果未能解决你的问题,请参考以下文章
IOS-如何在情节提要上为通用设备的 UIscrollview 设置框架?