前言:
以前写过一篇如何在 XIB 中拖拽 ScrollView。我以为从此再无后顾之忧。然而某天又被这个东西卡住了,就很僵硬,很烦。这次我做了一个动图。这次应该没有任何问题了。
很烦,随着Xcode更新,UIScrollView 里面又多了两个东西,在拖到XIB的时候,又特么开始报错了。
第一步 关掉 Content Layout Guides
第二步
把 ScrollView 拖到 XIB, 添加 5 个约束:
1.距离父视图 顶部 Top 为 0
2.距离父视图 左边 Left 为 0
3.距离父视图 右边 Right 为 0
4.距离父视图 底部 Bottom 为 0
5.在父视图水平居中 Horizontally in Container
然后我们再拖 ScrollView 的子控件, 这个控件用来告诉滚动视图内容高度。我们拖一个 UIView 进来, 添加 6 个约束:
1.距离父视图 顶部 Top 为 0
2.距离父视图 左边 Left 为 0
3.距离父视图 右边 Right 为 0
4.距离父视图 底部 Bottom 为 998
5.自身高度 Heigh 200
6.在父视图水平居中 Horizontally in Container
- 第4个约束, 这个底部距离值(998)可以随便写,值的大小会影响 ScrollView 是否可以滚动。后面会删掉。998买不了吃亏,买不了上当,你还在等什么?
- 第5个约束 + 第4个约束 一起确定了滚动视图的内容高度。
- 第6个约束 + 第 2个约束 + 第3个约束 一起确定了滚动视图的内容宽度。
做好上面的两大布局约束,基本上就可以玩了。
这时候,你可以再次勾选 上面的 Content Layout Guides,这时候是不会报错的,当然,也可以不勾选。
第三步
第四步
第五步
现在要让 ScrollView 的子控件来决定ScrollView 的内容高度
第一步: 删掉998约束,这样 ScrollView 就无法确定内容高度
第二步:给最后的绿色 View 添加一个距离顶部的约束
这样子视图就通过 自身的高度 + 距离顶部的距离 + 距离底部的距离 算出滚动视图的内容高度
第六步
第七步
以前的拖拽研究
iOS - 如何在 XIB 中拖拽 ScrollView 1