iOS Masonry介紹與使用實踐:快速上手Autolayout

來源:互聯網
上載者:User

標籤:

如題,今天的任務是Nasonry介紹與使用實踐:快速上手Autolayout & 自己App項目的適配 & 遇到的問題及解決方案。

Tips: .h與.m檔案之間的切換快速鍵 control + command + 上下鍵

Tips:如何在Xib中設定Button的屬性(圓角以及背景顏色)。Inspector -- User Defined Runtime Attributes -- layer.cornerRadius & Number & 10

9月14號更新--好吧,上周五的任務成功延遲到了今天,今天咱們來會會它。

    //mas_makeConstraints 只負責新增約束 Autolayout不能同時存在兩條針對於同一對象的約束 否則會報錯    - (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block;    //mas_remakeConstraints 則會清除之前的所有約束 僅保留最新的約束    - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block;    //mas_updateConstraints 針對上面的情況 會更新在block中出現的約束 不會導致出現兩個相同約束的情況    - (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block;

 首先是如何在項目中引用第三方庫的檔案。即使用cocoaPods import匯入時沒有提示的解決辦法:

選擇target--> User Header Search Paths -->在後面的空白處點擊。左側的寫入 $(PODS_ROOT) -- >後面的選擇rucursive。即可。

 

好了,可以調用了。

問了下大神,技能get時間。

比如說我如果想把這張圖片放在sele.view的中心,然後距離top50像素處,那麼代碼應該這麼寫。

    UIImageView *heads = [[UIImageView alloc] init];    heads.layer.masksToBounds = YES;    heads.layer.cornerRadius = 27;//圓角半徑?    [heads setImage:[UIImage imageNamed:@"user_head"]];    [self.view addSubview:heads];    [heads mas_makeConstraints:^(MASConstraintMaker *make){        make.top.equalTo(self.view).with.offset(30);        make.centerX.equalTo(self.view);    }];

這裡需要注意的是,自動布局是相對於superView和兄弟view的,不能相對自己來布局

所以代碼中括弧裡面的是self.view,而不是heads。

---2015-09-15更新

 上面所說的三種方法,昨天只用到了其中一種,即mas_makeConstraints。

估計自己只摸索著更表面的東西。上一個例子吧。

[loginButton mas_makeConstraints:^(MASConstraintMaker *make){                make.left.right.and.width.equalTo(self.view);        make.top.equalTo(centerLabel.mas_bottom).with.offset(30);        make.height.equalTo(@50);    }];

像這種特別簡單,只需要記住一點,Masonry實現的autolayout這種布局方式是相對於superView以及它的兄弟view的,千萬不能想對自己來布局。

iOS Masonry介紹與使用實踐:快速上手Autolayout

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.