iOS 如何在 XIB 中拖拽 ScrollView 2

前言:

以前写过一篇如何在 XIB 中拖拽 ScrollView。我以为从此再无后顾之忧。然而某天又被这个东西卡住了,就很僵硬,很烦。这次我做了一个动图。这次应该没有任何问题了
很烦,随着Xcode更新,UIScrollView 里面又多了两个东西,在拖到XIB的时候,又特么开始报错了。

第一步 关掉 Content Layout Guides

整活.png
第二步

把 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

  1. 第4个约束, 这个底部距离值(998)可以随便写,值的大小会影响 ScrollView 是否可以滚动。后面会删掉。998买不了吃亏,买不了上当,你还在等什么?
  2. 第5个约束 + 第4个约束 一起确定了滚动视图的内容高度。
  3. 第6个约束 + 第 2个约束 + 第3个约束 一起确定了滚动视图的内容宽度。

做好上面的两大布局约束,基本上就可以玩了。

这时候,你可以再次勾选 上面的 Content Layout Guides,这时候是不会报错的,当然,也可以不勾选。

创建滚动视图并初始化.gif

第三步

添加第二个控件.gif

第四步

添加第三个控件.gif

第五步

现在要让 ScrollView 的子控件来决定ScrollView 的内容高度
第一步: 删掉998约束,这样 ScrollView 就无法确定内容高度
第二步:给最后的绿色 View 添加一个距离顶部的约束
这样子视图就通过 自身的高度 + 距离顶部的距离 + 距离底部的距离 算出滚动视图的内容高度

滚动视图高度适应.gif

第六步

修改内容元素.gif

第七步

在有自建高度的情况下.gif

以前的拖拽研究
iOS - 如何在 XIB 中拖拽 ScrollView 1

你可能感兴趣的:(iOS 如何在 XIB 中拖拽 ScrollView 2)