使用pureLayout布局那些事

1.masonry這個(gè)布局是比較知名的,使用block的鏈?zhǔn)骄幊虂聿季执_實(shí)酷炫,但是實(shí)際使用過程中確實(shí)遇到不少問題
2.于是在github上搜索到另外一個(gè)較出名的布局,便有了這段pureLayout的嘗試
3.布局的問題通常出在給scrollView上的控件或者tableView上的控件設(shè)限制上,以及在iOS8正常運(yùn)行,在iOS7上卻頻頻崩潰,自動(dòng)布局還是得自己多做嘗試;

Paste_Image.png
Paste_Image.png

相對于masonry來說,我覺得pureLayout的可讀性更強(qiáng)(個(gè)人觀點(diǎn))
....

許久沒來更新了,接著寫完這pureLayout的布局。
便捷的讓一個(gè)子視圖布局充滿父視圖:

Paste_Image.png

然后設(shè)置其中不同控件相對布局的方法:

Paste_Image.png

像這樣居中,設(shè)置大小,sizetofit,邊界等。
pureLayout的好處在于,這些設(shè)定限制的語句都是有返回值的,我們可以很方便的拿到我們想要改動(dòng)的那個(gè)約束,然后在特定的事件下去修改約束。

看到有人問到tableviewHeaderView的問題。
分兩種:第一種是代理方法返回的tableviewHeader:
這種是可以使用pureLayou布局并在header中的layoutsubViews去布局子空間的。

Paste_Image.png
Paste_Image.png

從代理方法中返回就可以了。

第二種是tableView的tableViewHeaderView,因?yàn)槭侵苯咏o與賦值的,我的做法是自定義布局好的UIView之后,會(huì)在這個(gè)自定義的view的willMoveToSuperView中去設(shè)置frame。

Paste_Image.png
//我們像這樣使用pureLayout布局UI:
[tableView autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsMake(0, 0, 0, 0) excludingEdge:ALEdgeBottom];
[tableView autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:81];
//當(dāng)想要改動(dòng)其中的約束的時(shí)候,在布局的時(shí)候就拿到這條約束
self.tableViewBottomConstraint = [tableView autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:81];
//然后在需要改動(dòng)的地方改動(dòng)這個(gè)限制就好了,然后加一個(gè)自帶的動(dòng)畫效果就好了:
- (void)keyboardWillHide:(NSNotification*)aNotification {
  self.tableViewBottomConstraint.constant = -81;
  [UIView animateWithDuration:0.25
                   animations:^{
                     [self.tableView layoutIfNeeded];
                   }];
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,035評論 4 61
  • 不知你何時(shí)喜歡上我,對我體貼關(guān)心,百般呵護(hù),那愛甚是濃厚卻又決絕!我能看出相會(huì)時(shí)你彬彬有禮,卻又掩不住身上的殺伐之...
    司竹空閱讀 302評論 0 0
  • 先在云盤中建一個(gè)文件夾; “功能大全”——“同步文件夾”; 選擇云盤要同步的文件夾A,然后在電腦里選擇文件夾B作為...
    騎著驢去旅行閱讀 1,030評論 0 0
  • 1.假期不是學(xué)校教育的繼續(xù),家長要真正理解假期的意義。 假期按常理應(yīng)該是孩子們離開學(xué)校,課堂,進(jìn)行短暫休息、放松和...
    廣州學(xué)大教育閱讀 369評論 0 1

友情鏈接更多精彩內(nèi)容