Storyboard、xib中的UIScrollView使用autolayout,使其可以滾動

在使用storyboard和xib時,咱們常常要用到ScrollView,還有自動佈局AutoLayout,可是ScrollView和AutoLayout 結合使用,相對來講有點複雜。根據實踐,我說一下個人理解,在故事板或xib中,ScrollView是根據其下面的一個View的大小來肯定ContentSize的大小。佈局

看一下效果date

Storyboard、xib中的UIScrollView使用autolayout,使其可以滾動 - 小強 - 肥小強互聯網分享
 

1. 建立一個項目,拖拽一個ScrollView到故事板中,以下圖 互聯網

Storyboard、xib中的UIScrollView使用autolayout,使其可以滾動 - 小強 - 肥小強互聯網分享
2. 選中ScrollView,添加約束。
Storyboard、xib中的UIScrollView使用autolayout,使其可以滾動 - 小強 - 肥小強互聯網分享
3. 拖拽一個View到ScrollView上, 而後添加上下左右四周約束。
Storyboard、xib中的UIScrollView使用autolayout,使其可以滾動 - 小強 - 肥小強互聯網分享
 4.添加完以後, 可能會報一個錯, 以下圖, 這個暫時別去管。  
Storyboard、xib中的UIScrollView使用autolayout,使其可以滾動 - 小強 - 肥小強互聯網分享

5. 咱們先肯定一下, 咱們是須要水平方向的滾動仍是豎直方向的滾動,或者水平方向和豎直方向都須要滾動。autolayout

a.水平方向和豎直方向都須要滾動的話, 不用添加分頁

b.水平方向滾動須要添加下面一個約束scroll

Storyboard、xib中的UIScrollView使用autolayout,使其可以滾動 - 小強 - 肥小強互聯網分享
c.豎直方向須要添加下面一個約束
Storyboard、xib中的UIScrollView使用autolayout,使其可以滾動 - 小強 - 肥小強互聯網分享
6.咱們以水平方向滾動爲例,  咱們須要肯定咱們想要的寬度, 添加一個固定的寬度的約束。
Storyboard、xib中的UIScrollView使用autolayout,使其可以滾動 - 小強 - 肥小強互聯網分享
7.若是是想要動態設置ScrollView的寬度,也就是設置View的寬度約束的值, 咱們將其拉成屬性, 而後修改其值。
Storyboard、xib中的UIScrollView使用autolayout,使其可以滾動 - 小強 - 肥小強互聯網分享
8. 若是是肯定的寬度, 能夠在- (void)updateViewConstraints這個方法中修改,也能夠在別處修改。
Storyboard、xib中的UIScrollView使用autolayout,使其可以滾動 - 小強 - 肥小強互聯網分享
 這樣子就OK了。 能夠經過代碼來添加view而後就能夠實現分頁滾動了。
自動佈局須要本身去多多實踐, 有不少細節須要注意的。 

要往scrollView裏面添加子控件--從嚮往下排方法

    0.設置scrollView的上下左右約束距離控制器view邊距爲零(肯定frame的大小)im

    1.要往scrollView添加一個內容Viewlayout

    2.約束內容的View左上右邊距離父控件爲0拖拽

    3.約束死內容的View的高度

    4.約束內容View在ScrollView的水平居中(垂直滑動)

    5.添加控件--從上往下排

    6.去掉內容View的約束死的那個高度的約束

    7.約束內容View距離底部最後一個控件View的間距

相關文章
相關標籤/搜索