本文主要是介绍Masnory+ SnapKit,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 前言
- Masonry
- 定义
- 使用
- 注意事项
- 约束的方法
- SnapKit
- 导入
前言
记录一下关于Masonry的一些简单使用
Masonry
定义
Masnory是一个拥有自己的描述语法,相较与NSLayoutConstraints,masonry更加方便快捷,具有很高可读性的轻量级的布局框架。
使用
配置好环境后
- 终端输入:
cd /Your Project FilePath
直接将项目拖过来就行
- 然后终端输入
touch PodFile
- 打开这个项目,出现了名为PodFile的文件
- 打开文件
在文件里编辑
platform :ios, ‘7.0’
target ‘你的项目工程名字’ do
pod ‘Masonry’
end
- 终端输入:
pod install
然后会出现这几个文件
打开后缀为.xcw的文件就可以使用Masonry了
注意事项
- 使用Masonry添加约束条件需要在addSubview方法之后。
- equalTo: make.top.mas_equalTo(10) 顶部等于10
- offset: make.top.mas_offset(10) 顶部距离父视图的mas_top有+10个单位,规定向下为正。
- 视图的添加顺序需要注意
约束的方法
mas_makeConstraints() 添加约束
mas_remakeConstraints() 移除之前的约束,重新添加新的约束
mas_updateConstraints() 更新约束dividedBy() 除以某个量,用以实现按比例设置约束
multipliedBy() 乘以某个量
offset() 括号里填写偏差量
equalTo() 如果括号里填写数组,可以实现对多个控件添加同一约束;如果equalTo()内填写的内容相同,可以使用一个语句来添加多条约束
尺寸:width、height、size
边界:left、leading、right、trailing、top、bottom
中心点:center、centerX、centerY
边界:edges
偏移量:offset、insets、sizeOffset、centerOffset
priority()约束优先级(0~1000)
// ViewController.m
// Masonry
//
//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];UIView *firstView = [[UIView alloc] init];firstView.backgroundColor = [UIColor blueColor];UIView *secondView = [[UIView alloc] init];secondView.backgroundColor = [UIColor grayColor];UIView *thirdView = [[UIView alloc] init];thirdView.backgroundColor = [UIColor yellowColor];[self.view addSubview:firstView];[self.view addSubview:secondView];[self.view addSubview:thirdView];[firstView mas_makeConstraints:^(MASConstraintMaker* make) {make.left.mas_equalTo(self.view.mas_left).mas_offset(0);make.top.mas_equalTo(self.view.mas_top).mas_offset(self.view.frame.size.height * 0.3);make.width.mas_equalTo(self.view).dividedBy(5);make.height.mas_equalTo(self.view).dividedBy(5);}];[secondView mas_makeConstraints:^(MASConstraintMaker* make) {make.left.mas_equalTo(self.view.mas_left).mas_offset(50);make.top.mas_equalTo(self.view.mas_top).mas_offset(self.view.frame.size.height * 0.4);make.width.mas_equalTo(self.view).dividedBy(5);make.height.mas_equalTo(self.view).dividedBy(5);}];[thirdView mas_makeConstraints:^(MASConstraintMaker* make) {make.left.mas_equalTo(self.view.mas_left).mas_offset(100);make.top.mas_equalTo(self.view.mas_top).mas_offset(self.view.frame.size.height * 0.5);make.width.mas_equalTo(self.view).dividedBy(5);make.height.mas_equalTo(self.view).dividedBy(5);}];// Do any additional setup after loading the view.
}
SnapKit
这个第三方库是Swift语言里的一个第三方库
它的作用和Masonry类似,用来约束布局
导入
和Masonry的步骤相同,只是在podfile里写入的东西是
platform :ios, '9.0' # 这里可以根据你的项目需求设置target '你的项目名称' dopod 'SnapKit'
end
进行pod install命令后就可以进行使用了
这篇关于Masnory+ SnapKit的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!