前言:
以前寫過一篇如何在 XIB 中拖拽 ScrollView。我以為從此再無后顧之憂。然而某天又被這個東西卡住了,就很僵硬,很煩。這次我做了一個動圖。這次應(yīng)該沒有任何問題了。
很煩,隨著Xcode更新,UIScrollView 里面又多了兩個東西,在拖到XIB的時候,又特么開始報錯了。
第一步 關(guān)掉 Content Layout Guides
第二步
把 ScrollView 拖到 XIB, 添加 5 個約束:
1.距離父視圖 頂部 Top 為 0
2.距離父視圖 左邊 Left 為 0
3.距離父視圖 右邊 Right 為 0
4.距離父視圖 底部 Bottom 為 0
5.在父視圖水平居中 Horizontally in Container
然后我們再拖 ScrollView 的子控件, 這個控件用來告訴滾動視圖內(nèi)容高度。我們拖一個 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個約束 一起確定了滾動視圖的內(nèi)容高度。
- 第6個約束 + 第 2個約束 + 第3個約束 一起確定了滾動視圖的內(nèi)容寬度。
做好上面的兩大布局約束,基本上就可以玩了。
這時候,你可以再次勾選 上面的 Content Layout Guides,這時候是不會報錯的,當然,也可以不勾選。
第三步
第四步
第五步
現(xiàn)在要讓 ScrollView 的子控件來決定ScrollView 的內(nèi)容高度
第一步: 刪掉998約束,這樣 ScrollView 就無法確定內(nèi)容高度
第二步:給最后的綠色 View 添加一個距離頂部的約束
這樣子視圖就通過 自身的高度 + 距離頂部的距離 + 距離底部的距離 算出滾動視圖的內(nèi)容高度
第六步
第七步
以前的拖拽研究
iOS - 如何在 XIB 中拖拽 ScrollView 1