日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS - Masonry自动布局

發布時間:2024/7/19 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS - Masonry自动布局 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 簡介:
    相對于官方的NSLayoutConstraints的的過于繁瑣和麻煩,Masonry是一個輕量級的布局框架 擁有自己的描述語法 采用更優雅的鏈式語法封裝自動布局 簡潔明了 并具有高可讀性 而且同時支持 iOS 和 Max OS X。

    可以到Masonry-Github下載官方源碼Demo

  • 安裝:
    1.直接進入github進行源碼下載 引入頭文件#import "Masonry.h"
    2.使用CocoaPod進行下載 pod 'Masonry'

  • 簡單使用

    • Masonry的屬性:
      Masonry NSAutoLayout 說明
      left NSLayoutAttributeLeft 左側
      top NSLayoutAttributeTop 上側
      right NSLayoutAttributeRight 右側
      bottom NSLayoutAttributeBottom 下側
      leading NSLayoutAttributeLeading 首部
      trailing NSLayoutAttributeTrailing 尾部
      width NSLayoutAttributeWidth 寬
      height NSLayoutAttributeHeight 高
      centerX NSLayoutAttributeCenterX 橫向中點
      centerY NSLayoutAttributeCenterY 縱向中點
      baseline NSLayoutAttributeBaseline 文本基線
    • 最常用的三種加約束的方式:
    //mas_makeConstraints 只負責新增約束 Autolayout不能同時存在兩條針對于同一對象的約束 否則會報錯 - (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block;//mas_updateConstraints 針對上面的情況 會更新在block中出現的約束 不會導致出現兩個相同約束的情況 - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block;//mas_remakeConstraints 則會清除之前的所有約束 僅保留最新的約束 - (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block;

    比如,要給一個視圖加約束為距父視圖上下左右邊距都為10

    UIView *subView = [[UIView alloc]init];subView.backgroundColor = [UIColor blackColor];[self.view addSubview:subView];CGFloat margin = 10;[subView mas_makeConstraints:^(MASConstraintMaker *make) {make.left.equalTo(self.view).offset(margin);make.right.equalTo(self.view).offset(-margin);make.top.equalTo(self.view).offset(margin);make.bottom.equalTo(self.view).offset(-margin);}];

    也可以這樣寫:

    UIView *subView = [[UIView alloc]init];subView.backgroundColor = [UIColor blackColor];[self.view addSubview:subView];CGFloat margin = 10;[subView mas_makeConstraints:^(MASConstraintMaker *make) {make.top.left.bottom.and.right.equalTo(self.view).with.insets(UIEdgeInsetsMake(margin, margin, -margin, -margin));}];

    或者這樣寫:

    UIView *subView = [[UIView alloc]init];subView.backgroundColor = [UIColor blackColor];[self.view addSubview:subView];CGFloat margin = 10;[subView mas_makeConstraints:^(MASConstraintMaker *make) {make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(margin, margin, -margin, -margin));}];

    注意:

    • 在xib或者storyboard中使用masonry框架相關方法的時候要將use Auto layout選項去掉,否則會不起作用。
    • 給一個View加約束前提是該視圖有父視圖(superView),否則會報錯
    • 給一個view1添加約束時與相對的view2之間必須有父子視圖或者有一個共同的父視圖的關系

    轉載于:https://www.cnblogs.com/xiubin/p/5086935.html

    總結

    以上是生活随笔為你收集整理的iOS - Masonry自动布局的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 成人高清视频免费观看 | 秋霞网一区| 精久久久久久久 | 五月婷婷中文 | 中文字幕精品一区二 | 91久久爱| 欧美日韩a√ | 亚洲啪啪网址 | 久久午夜av | 女人十八岁毛片 | 中文字幕亚洲日本 | 伊人久久大香线蕉综合网站 | 黄色大片儿 | 亚洲丝袜一区 | 一级黄色特级片 | 日韩福利网 | 日剧大尺度床戏做爰 | 国产欧美日韩综合精品一区二区三区 | 香蕉视频黄色在线观看 | 国产精品99久久久精品无码 | 青青草视频网站 | 五月婷婷丁香花 | 欧美一卡二卡在线 | sm久久捆绑调教精品一区 | 成人免费看片98 | 久久人妻少妇嫩草av | 久久精品9 | 中文幕无线码中文字蜜桃 | 一个色在线视频 | www.波多野结衣.com | 精品久久久一区 | 午夜av剧场 | wwwjavhd| 国产aaa级片 | 日本aaa级片 | 日韩在线观看一区 | 激情综合图 | 午夜激情视频网 | 精品视频免费在线观看 | av天天干 | 国产乱妇4p交换乱免费视频 | 嫩草影院中文字幕 | 欧美黄色一级网站 | 亚洲 欧美 另类 综合 偷拍 | 久操综合 | 日本乱论视频 | 色婷av | 在线观看污 | 国产毛片一区二区 | 国产另类ts人妖一区二区 | 污的视频在线观看 | 波多野结衣在线 | 亚洲中文一区二区三区 | 国产伦精品一区二区三区千人斩 | 一级黄色录相 | 国产麻豆一级片 | 一区二区高清 | 日老女人视频 | 国产精品一区二区三区四区视频 | 日本网站在线免费观看 | 久久93 | 国产盗摄一区二区三区 | 国产精品大屁股白浆一区 | 国产精品看片 | www.超碰在线观看 | 午夜影院免费看 | 丁香色欲久久久久久综合网 | 午夜国产视频 | 亚洲成a人v欧美综合天堂麻豆 | 亚洲国产综合在线 | 激情婷婷在线 | 国产污污| 青青草成人在线观看 | 日本一区二区免费看 | 99色影院 | 成人在线观看一区二区三区 | 国产精品福利在线观看 | 欧美午夜在线视频 | 国产wwwwwww| 一二三区在线视频 | 97精品久久| 成人在线免费小视频 | 国产热99 | 黄色大片91 | av夜夜操 | 91亚洲成人 | 成人一区二区三区仙踪林 | 国产福利在线视频 | 一区二区三区三区在线 | 日本国产视频 | av三级网 | www.久色| 色综合一区二区 | 毛片基地免费观看 | 亚洲黄色成人 | 内射毛片内射国产夫妻 | 亚瑟av| 久久这里精品 | 亚洲女优在线 |