Masonry

1沧奴、常用方法:
這個(gè)方法只會(huì)添加新的約束

[blueView mas_makeConstraints:^(MASConstraintMaker *make) {
}];

這個(gè)方法會(huì)將以前的所有約束刪掉臣镣,添加新的約束

[blueView mas_remakeConstraints:^(MASConstraintMaker *make) {  
}];

這個(gè)方法將會(huì)覆蓋以前的某些特定的約束

[blueView mas_updateConstraints:^(MASConstraintMaker *make) {    
}]; 

2、約束類(lèi)型
尺寸:
width(寬)\height(高)\size(大腥硖洹)\

       // 寬度約束
        make.width.mas_equalTo(100);
        // 高度約束
        make.height.mas_equalTo(100);
        
        //  大小約束(與上面兩句等價(jià))
        make.size.mas_equalTo(CGSizeMake(100, 100));

邊界:
left\leading(左邊界)\right\trailing(右邊界)\top(頂部邊界)\bottom(底部邊界)

       // 左邊(leading類(lèi)似)
        make.left.mas_equalTo(self.view).offset(50); 
       // 右邊(trailing類(lèi)似)
        make.right.equalTo(self.view).offset(-20);
        // 頂部
        make.top.equalTo(self.view).offset(20);
        // 底部
        make.bottom.mas_equalTo(self.view).offset(-50);

中心點(diǎn):
center\centerX\centerY

    // 居中(水平+垂直)
    // 尺寸是父控件的一半
    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.size.mas_equalTo(self.view).multipliedBy(0.5);
        make.center.mas_equalTo(self.view); // 與下面兩句代碼等價(jià)
//        make.centerX.mas_equalTo(self.view);
//        make.centerY.mas_equalTo(self.view);
    }];

內(nèi)邊距實(shí)現(xiàn)邊界約束:

// UIEdgeInsets 內(nèi)邊距
make.edges.mas_equalTo(self.view).insets(UIEdgeInsetsMake(50, 50, 50, 50));

3航背、mas_前綴修飾與不修飾的區(qū)別
mas_equalTo和equalTo
默認(rèn)情況下:
mas_equalTo有自動(dòng)包裝功能,比如自動(dòng)將20包裝為@20
equalTo沒(méi)有自動(dòng)包裝功能
mas_equalTo的功能強(qiáng)于 > equalTo巫击,可以一直使用mas_equalTo




#import "ViewController.h"
#import "Masonry/Masonry.h"
@interface ViewController ()
@property (nonatomic, strong) UIView *A;
@property (nonatomic, strong) UIView *B;
@property (nonatomic, strong) UIView *C;
@property (nonatomic, strong) UIView *D;
@property (nonatomic, strong) UIView *E;
@property (nonatomic, strong) UIView *F;
@property (nonatomic, strong) UIView *G;

@end

@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];


    _A = [[UIView alloc]init];
    _A.backgroundColor = [UIColor yellowColor];
    [self.view addSubview:_A];
    
    _B = [[UIView alloc]init];
    _B.backgroundColor = [UIColor blueColor];
    [self.view addSubview:_B];
    
    _C = [[UIView alloc]init];
    _C.backgroundColor = [UIColor grayColor];
    [self.view addSubview:_C];
    
    _D = [[UIView alloc]init];
    _D.backgroundColor = [UIColor yellowColor];
    [_C addSubview:_D];
    
    _E = [[UIView alloc]init];
    _E.backgroundColor = [UIColor blueColor];
    [_C addSubview:_E];
    
    _F = [[UIView alloc]init];
    _F.backgroundColor = [UIColor redColor];
    [_C addSubview:_F];
    
    
    
    [_A mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(20);
        make.left.mas_equalTo(20);
        make.height.mas_equalTo(150);
        make.right.equalTo(_B.mas_left).mas_offset(-20);
        make.width.mas_equalTo(_B);
    }];
    

    [_B mas_makeConstraints:^(MASConstraintMaker *make) {
        make.right.mas_equalTo(-20);
        make.height.mas_equalTo(150);
        make.top.mas_equalTo(20);
        make.left.equalTo(_A.mas_right).mas_offset(20);
        make.width.mas_equalTo(_A);
    }];

    [_C mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(_A.mas_bottom).mas_offset(20);
        make.height.equalTo(_A);
        make.left.mas_equalTo(20);
        make.right.mas_equalTo(-20);
    }];
    

    [_D mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(_C).mas_offset(10);
        make.left.equalTo(_C).mas_offset(10);
        make.right.equalTo(_E.mas_left).mas_offset(-20);
        make.height.mas_equalTo(40);
        make.width.mas_equalTo(_E);
    }];
    
    [_E mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(_C).offset(10);
        make.right.equalTo(_C).offset(-10);
        make.left.equalTo(_D.mas_right).mas_offset(20);
        make.height.mas_equalTo(40);
        make.width.mas_equalTo(_D);
    }];
    
    [_F mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(_D.mas_bottom).mas_offset(10);
        make.right.equalTo(_C).mas_offset(-10);
        make.left.equalTo(_C).mas_offset(10);
        make.bottom.equalTo(_C).mas_offset(-10);
    }];
}

@end
2389367-ad9b97bc40d84c36.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末禀晓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子坝锰,更是在濱河造成了極大的恐慌匆绣,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件什黑,死亡現(xiàn)場(chǎng)離奇詭異崎淳,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)愕把,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)拣凹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人恨豁,你說(shuō)我怎么就攤上這事嚣镜。” “怎么了橘蜜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵菊匿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我计福,道長(zhǎng)跌捆,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任象颖,我火速辦了婚禮佩厚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘说订。我一直安慰自己抄瓦,他們只是感情好潮瓶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著钙姊,像睡著了一般毯辅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上煞额,一...
    開(kāi)封第一講書(shū)人閱讀 49,741評(píng)論 1 289
  • 那天思恐,我揣著相機(jī)與錄音,去河邊找鬼立镶。 笑死壁袄,一個(gè)胖子當(dāng)著我的面吹牛类早,可吹牛的內(nèi)容都是我干的媚媒。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼涩僻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼缭召!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起逆日,我...
    開(kāi)封第一講書(shū)人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嵌巷,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后室抽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體搪哪,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年坪圾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晓折。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡兽泄,死狀恐怖漓概,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情病梢,我是刑警寧澤胃珍,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站蜓陌,受9級(jí)特大地震影響觅彰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜钮热,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一缔莲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧霉旗,春花似錦痴奏、人聲如沸蛀骇。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)擅憔。三九已至,卻和暖如春檐晕,著一層夾襖步出監(jiān)牢的瞬間暑诸,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工辟灰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留个榕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓芥喇,卻偏偏與公主長(zhǎng)得像西采,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子继控,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

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