澳门威利斯人_威利斯人娱乐「手机版」

来自 威利斯人娱乐 2019-11-24 04:47 的文章
当前位置: 澳门威利斯人 > 威利斯人娱乐 > 正文

面向初学者

2.2 综合消除格局

安装view的背景以便观望,辅以View UI Hierarchy观测.

最直白有效的章程是在近年来界面包车型地铁首先个电动布局的view处打上断点,黄金年代行业作风流倜傥行往下走( step over ),若直接跳过当前view布局,平日是现阶段view为空; 若进去在某大器晚成行程序崩溃,平常是前段时间封锁语句信赖的指标为空。

1.2 事例2:

 图片 1

 [view1 mas_makeConstraints:^(MASConstraintMaker *make) {

    // 与superView侧面对齐,x分明。

    make.left.equalTo(superView.mas_left);

 

    // 与superView上面对齐,y分明。

    make.top.equalTo(superView.mas_top); 

    // view1宽度永世为90,width明确。

 

    make.width.mas_equalTo(90);

    // view1高度height未确定。

}];

 

//view2布局,假如双箭头( 间距 )为20;

[view2 mas_makeConstraints:^(MASConstraintMaker *make) {

    /* view2的左边与superView左侧 多少个数对齐,自此间换个说法

    ,view2的左边等于superView的左侧加上一个间隔,x明确。*/

    make.left.equalTo(superView.mas_left).offset(20)

 

    // view2的底部等于superView底边。

    make.bottom.equalTo(superView.mas_bottom);

 

    // view2的尺寸等于view1的尺寸(中度和宽度),size(width,height)显明

    make.size.equalTo(view1);

    /* 下边一句等价于make.height.width.equalTo(view1); */

 

    // view2的顶边等于view1的最底层加上间隔,结合中度自律,y明确。

    make.top.equalTo(view1.mas_bottom).offset(20)

 

    /* 八个成分鲜明,节制完毕,view2的宽中度与view1的宽中度相符,

    由于两者未有。固定中度,唯有固定的间距,故view1和view2的可观

    会随着superView的高度变化而变化。*/

}];

//啰嗦下坐标

 图片 2

//view3布局,就算间隔为20。

[view3 mas_makeConstraints:^(MASConstraintMaker *make) {

    /* 从图中看出侧边最佳分明,左边等于superView的右侧加上间隔 */

    make.right.equalTo(superView.mas_right).offset(-20);

    // 坐标总结: 往左-20,往右 20。

 

    // view3的顶边等于superView顶边加三个间距

    make.top.equalTo(superView.mas_top).offset(20); //往上-20, 往下 20

 

    // view3的底层等于superView的底层加上一个间隔。

    make.bottom.equalTo(superView.mas_bottom).offset(-20)

    // 到这里view3的可观分明,但幅度和x,y都未曾规定

 

    // view3宽度规定后组合right约束x跟着鲜明

    make.width.mas_equalTo(90);

 

    /* 剩下y未规定,从图中得以见见view3在superView中应当是垂

    直方向上居中,能够一直设置centerY */

    make.centerY.equalTo(superView.mas_centerY);

 

    /* 无论superView高宽怎么转移,view3始终在笔直方向上居中,

    且紧挨着superView侧面,中度会随着superView变化而生成,当

    然,你也可以直接固定中度,顶边与底边就毫无在装置了,那样,

    superView中度变大变小,view3始终那么高,如何抉择早晚是跟

    UI分界面要求有关 */

}];

 

/* 那有个别重视介绍了着力用法, top, bottom, left, right, centerY(相应的有

centerX), equalTo(), mas_equalTo(), offset() */ 

2 注意事项

1.1 事例1:

 图片 3

// 首先是view1自动布局

[view1 mas_makeConstraints:^(MASConstraintMaker *make) {

    // view1左侧与superView右侧对齐

    make.left.equalTo(superView.mas_left);

 

    // view1右侧与superView右侧对齐.

    make.right.equalTo(superView.mas_right);

    /* 这两句代码约束了view1的侧面与左手,等价于约束了view1的宽

    度,宽度与superView的大幅度相等,superView宽度变了,view1宽度也

    更着改换*/

 

    // viewe1下边于superView上面对齐

    make.top.equalTo(superView.mas_top); 

 

    // view1中度牢固为44,等于多少个数时用mas_equalTo();

    make.height.mas_equalTo(44);

 

    /* 到那边view1布局产生,它的origin(地点:x,y)和size(尺寸:

    width,height)都规定了,实际上正是view1的frame鲜明了。*/

}];

 

    /* 放肆一个UIView的布局都急需规定地点和尺寸:x和y, width和

    height,一个都不能少。下边是view2的布局 */

[view2 mas_makeConstraints:^(MASConstraintMaker *make) {

    // view2右边与view1右侧临齐,即x明确,也得以与superView对齐

    make.left.equalTo(view1.mas_left);

 

    // view1宽度平昔为90,即width鲜明。

    make.width.mas_equalTo(90);

 

    // 这里view2的莫斯中国科学技术大学学与view1的莫大相等,即height分明.

    make.height.equalTo(view1.mas_height); 

 

    // 底边与superView底边对齐,结合中度自律,y显明。

    make.bottom.equalTo(superView.mas_bottom); 

}];

/* x,y不仅能够由此left,top直接分明,也得以通right结合width,bottom

构成height间接鲜明 ,width和height通过mas_equalTo()直接规定以至

通过equalTo(view)信赖view的宽高直接明确 */

2.1 问题

(1)  view 进行布局了但并未有效应

1)  view为空,也就是给空指针发送音讯,未有功能。

2)  布局信任的UIView(如superView,view2)未有布局好.(表明:

    make.equalTo(view2),view2为依赖的UIView).

3)  view 自身并未有显得怎么东西

4)  view 未有增加到superView

5)  等等。。。。。。。

(2)  约束过多相悖或衰竭    

 图片 4

(3)程序崩溃,常常是封锁注重的靶子(如superView)为空

图片 5

1 基本用法

有关Masonry框架(AutoLayout)的用法--面向初读书人,masonryautolayout

      Masonry作为当下较为流行的自动布局第三方框架,轻巧易用,大大减少了程序员花在UI布局和显示屏适配的精力与时间。

2.3 细节( 自行忽视 )

原理:边界:view1与superView对齐,相邻:view2与view1的左边手、右侧、顶边只怕底边对齐,中央:centerX,centerY对齐,三个完好内的view与该全部对齐.固定与转换的精选依UI需要.

貌似景观下,布局是在layoutSubViews()大概调控器viewDidLayoutSubViews(),若不是,如:view1在布局限制前未实施[superView addSubViews:view1],程序也会崩溃。

 

Masonry作为当前较为流行的机动布局第三方框架,轻便易用,大大减弱了技术员花...

本文由澳门威利斯人发布于威利斯人娱乐,转载请注明出处:面向初学者

关键词: 澳门威利斯人