scrollView自動布局,自適應contentSize (xib,純代碼)

在使用scrollView進行自動布局時發(fā)現(xiàn),scrollView的自動布局是相對來說比較復雜的,在設置完上下左右的約束后發(fā)現(xiàn)仍然會報錯,查找發(fā)現(xiàn)這是因為contentSize無法確定,導致爆紅.

網(wǎng)友給出了一些答案.但是好像需要設置contentView的高度約束,覺得不方便,嘗試后發(fā)現(xiàn)可以通過下面的方法在scrollView中使用autolayout,同時實現(xiàn)自適應contentSize,做下記錄.

只使用xib的方法實現(xiàn)下面界面的自適應.

先看效果

使用scrollView時分以下幾步

1.在控制器View中拖入scrollView,設置上下左右約束距super為0

2.在scrollView中拖入一個view作為contentView,方便之后在contentView中進行布局,設置contentView上下左右約束距scrollView為0.這樣完成后,會報錯,就是因為contentSize沒有確定.

3.設置contentView和scrollView水平居中對齊,確定x方向上scrollView的位置

設置完成仍然報錯(先不管),但是出現(xiàn)水平方向上對齊的標示


4.開始在scrollView上面進行自由布局


5.要實現(xiàn)自動布局,重點在于contentView中的子控件能夠上下左右撐開contentView,此時效果如下

可以看出,沒寫一句代碼,已經(jīng)實現(xiàn)了scrollView 中的自動布局(contentsize自適應子控件高度,可滾動).

接下來再實現(xiàn)在下一個視圖中再添加一個label,使scrollView 自適應label文字高度

1.首先取消下方紅色View的bottom約束

2.添加一個有很多文字的label

3.添加label之后

4.大招,可以看到把label的底部約束拖到與contentView的約束相等后,不再爆紅,完成,運行起來,就是開始時的效果

*************************************

總結:可以看到從上到下,所有的控件撐起了整個contentView,實現(xiàn)自適應最關鍵的一點是,最下面的一個控件作為參考控件,把它的底部約束拖到contentView的底部相等.這樣contentView就被正確的撐起來了.

希望這個小總結能給看到的朋友在開發(fā)中帶來靈感.




不專業(yè)分割線**************************************純代碼部分

- (void)viewDidLoad {

[super viewDidLoad];

UIScrollView * scrollView = [[UIScrollView alloc]init];

[self.view addSubview:scrollView];

[scrollView mas_makeConstraints:^(MASConstraintMaker *make) {

make.edges.equalTo(self.view);

}];

UIView * container = [UIView new];

[scrollView addSubview:container];

[container mas_makeConstraints:^(MASConstraintMaker *make) {

make.edges.equalTo(scrollView);

make.width.equalTo(scrollView);

}];

UIView * redView = [UIView new];

redView.backgroundColor = [UIColor redColor];

[scrollView addSubview:redView];

[redView mas_makeConstraints:^(MASConstraintMaker *make) {

make.left.right.top.equalTo(scrollView);

make.height.mas_equalTo(600);

}];

UIView * blueView = [UIView new];

blueView.backgroundColor = [UIColor blueColor];

[scrollView addSubview:blueView];

[blueView mas_makeConstraints:^(MASConstraintMaker *make) {

make.top.equalTo(redView.mas_bottom);

make.left.right.equalTo(scrollView);

make.height.mas_equalTo(400);

make.bottom.equalTo(container);

}];

}


要注意的是膘怕,一定要用一個container卦方,在container中進行布局鳄哭,container的上下左右和scrollView相同,通過設置height或者width和scrollView相同萎胰,控制scrollView水平還是垂直滾動碾盟。在container中,從上往下布局技竟,最后一個控件一定要和container的bottom設置相同冰肴,這樣才能撐開container,使得scrollView可以滾動。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嚼沿,一起剝皮案震驚了整個濱河市估盘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骡尽,老刑警劉巖遣妥,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異攀细,居然都是意外死亡箫踩,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門谭贪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來境钟,“玉大人,你說我怎么就攤上這事俭识】鳎” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵套媚,是天一觀的道長缚态。 經(jīng)常有香客問我,道長堤瘤,這世上最難降的妖魔是什么玫芦? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮本辐,結果婚禮上桥帆,老公的妹妹穿的比我還像新娘。我一直安慰自己慎皱,他們只是感情好老虫,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著茫多,像睡著了一般祈匙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上地梨,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音缔恳,去河邊找鬼宝剖。 笑死,一個胖子當著我的面吹牛歉甚,可吹牛的內(nèi)容都是我干的万细。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼赖钞!你這毒婦竟也來了腰素?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤雪营,失蹤者是張志新(化名)和其女友劉穎弓千,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體献起,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡洋访,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了谴餐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姻政。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖岂嗓,靈堂內(nèi)的尸體忽然破棺而出汁展,到底是詐尸還是另有隱情,我是刑警寧澤厌殉,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布食绿,位于F島的核電站,受9級特大地震影響年枕,放射性物質(zhì)發(fā)生泄漏炫欺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一熏兄、第九天 我趴在偏房一處隱蔽的房頂上張望品洛。 院中可真熱鬧,春花似錦摩桶、人聲如沸桥状。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辅斟。三九已至,卻和暖如春芦拿,著一層夾襖步出監(jiān)牢的瞬間士飒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工蔗崎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留酵幕,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓缓苛,卻偏偏與公主長得像芳撒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容