iOS - Masonry的正确使用方式
2016-10-26 16:59
253 查看
效果图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/09/57d250fea99ef0ec4432d035d9c0c1ef)
第一个redView约束,全部相对于superView的约束
第二个蓝色blueView的约束
第三个绿色greenView的约束
最下方redView2约束
中间橙色view约束,上 下 左 右
view的右侧,以及下方的约束一般用负值容易理解.
第一个redView约束,全部相对于superView的约束
[redView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.view).with.offset(50); make.left.equalTo(self.view).with.offset(20); //相对于右侧的约束要用负值 make.right.equalTo(self.view).with.offset(-5); make.height.equalTo(@55); }];
第二个蓝色blueView的约束
[blueView mas_makeConstraints:^(MASConstraintMaker *make) { //相对于上一个view的底部的约束 make.top.equalTo(redView.mas_bottom).with.offset(10); make.left.equalTo(self.view).with.offset(202); make.right.equalTo(self.view).with.offset(-115); make.height.equalTo(@35); }];
第三个绿色greenView的约束
[greenView mas_makeConstraints:^(MASConstraintMaker *make) { //上方相对于红色view约束 make.top.equalTo(redView.mas_bottom).with.offset(10); make.left.equalTo(self.view).with.offset(5); //绿色view的右侧相对于上个view的左侧要用负值. make.right.equalTo(blueView.mas_left).with.offset(-105); make.height.equalTo(@45); }];
最下方redView2约束
[redView2 mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(greenView.mas_bottom).with.offset(30); make.left.equalTo(self.view).with.offset(15); make.right.equalTo(self.view).with.offset(-80); make.height.equalTo(@45); }];
中间橙色view约束,上 下 左 右
[orangeView mas_makeConstraints:^(MASConstraintMaker *make) { //上方相对于第一个红色view约束 make.top.equalTo(redView.mas_bottom).with.offset(5); //左侧相对于绿色约束 make.left.equalTo(greenView.mas_right).with.offset(15); //右侧相对于蓝色约束 make.right.equalTo(blueView.mas_left).with.offset(-20); //下方相对于下方红色view顶部的约束 make.bottom.equalTo(redView2.mas_top).with.offset(-10); // make.height.equalTo(@32); }];
view的右侧,以及下方的约束一般用负值容易理解.
相关文章推荐
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- IOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry) 转载
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- iOS开发通过代码方式使用 NSLayoutConstraint + Masonry
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- IOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
- 建立一个更高级别的查询 API:正确使用Django ORM 的方式 - 技术翻译 - 开源中国 OSChina.NET
- IOS开发之cocoa中使用定时器的基本方式
- 多线程的使用(4) - iOS多线程的三种方式
- iOS 中正确切换摄像头&正确实现设置帧率的方式
- PHP引号的正确使用方式介绍
- 【IOS学习之路】关于DES加密 神州付中使用到的DES加密方式