作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想实现一个简单的 UIViewController
,内容可以垂直滚动。
我一直在尝试使用 UIScrollView
,但我在 Interface Builder 中设置约束时遇到困难。任何人都可以说明正确的方法吗?
让我们考虑一个页面,它有一个带有长文本的 UILabel
和放置在文本底部的几个 UIImageView
。
最佳答案
UIScrollView
在处理 autolayout
约束和滚动功能时有 2 个重要属性。这些是大小和内容大小。
UIScrollView
size 是与其父 View 相关的 UIScrollView
的大小。您可以通过将顶部、尾部、前导、底部中的每一个固定到其父 View 来设置其约束。
UIScrollView
另一方面,内容大小是与其相关的 UIScrollView
subview 的大小。它基本上是可滚动的大小。设置其 subview 的约束有点棘手,您不能将每个 subview 的每一侧都固定到UIScrollView
。您还需要向它添加一些高度和宽度约束,这样它就不会给出 ambiously constraint 警告。
例如,假设您在标签下方有一个 UILabel
和一个 UIImageView
。
创建垂直滚动内容的简单方法是:
UILabel
的顶部、前导、尾部空格约束设置为 UIScrollView
UILabel
高宽约束UIImageView
顶部约束设置为 UILabel
UIIMageView
尾部、前导和底部空间约束设置为 UIScrollView
UIImageView
高宽约束UILabel
高度约束并调用layoutIfNeeded
关于iOS:如何为 UIScrollView 设置约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33996719/
我是一名优秀的程序员,十分优秀!