iOS:如何设置UIScrollView的约束

时间:2015-11-30 10:43:46

标签: ios uiscrollview interface-builder nslayoutconstraint

我想实现一个带有垂直可滚动内容的简单UIViewController

我一直在尝试使用UIScrollView,但我正在努力设置Interface Builder中的约束。任何人都可以说明正确的方法吗?

让我们考虑一个页面,其中UILabel的文字长,文本底部有几个UIImageView

1 个答案:

答案 0 :(得分:1)

在处理UIScrollView约束和滚动功能时,

autolayout有2个重要属性。这些是尺寸和内容大小。

UIScrollView大小是与其超级视图相关的UIScrollView大小。 您可以通过将顶部,尾部,前导,底部分别固定到其超级视图来设置其约束。

另一方面,

UIScrollView内容大小是与其相关的UIScrollView子视图的大小。它基本上是可滚动的大小。设置其子视图的约束有点棘手,您不能只将每个子视图的每一侧都固定到UIScrollView。您还需要为其添加一些高度和宽度约束,以便它不会给出有意义的约束警告。

例如,假设您在标签下方有一个UILabel和一个UIImageView

创建垂直可滚动内容的简单方法是:

  1. UILabel设置为UIScrollView
  2. 的顶部,前导,尾随空格约束
  3. 设置UILabel高度和宽度约束
  4. 将高度约束连接到代码,以便您可以修改其值。
  5. UIImageView顶部约束设为UILabel
  6. UIIMageView尾随,前导和下限空间约束设为UIScrollView
  7. 设置UIImageView高度和宽度约束
  8. 根据文字更改UILabel身高限制并致电layoutIfNeeded