【问题标题】:iOS: how to set constraints to UIScrollViewiOS:如何为 UIScrollView 设置约束
【发布时间】:2015-11-30 10:43:46
【问题描述】:

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

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

让我们考虑一个页面,该页面有一个带有长文本的UILabel,以及位于文本底部的几个UIImageViews。

【问题讨论】:

  • answered 有一个类似的问题,请您仔细检查一下吗?
  • 看看这个answer

标签: ios uiscrollview interface-builder nslayoutconstraint


【解决方案1】:

UIScrollView 在处理autolayout 约束和滚动功能时有两个重要属性。这些是大小和内容大小。

UIScrollView size 是UIScrollView 与其父视图相关的大小。 您可以通过将顶部、尾随、前导、底部中的每一个固定到其父视图来设置其约束。

另一方面,UIScrollView 内容大小是与之相关的UIScrollView 子视图的大小。它基本上是可滚动的大小。设置其子视图的约束有点棘手,您不能将每个子视图的每一侧都固定到UIScrollView。您还需要为其添加一些高度和宽度约束,这样它就不会给出模棱两可的约束警告。

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多