适配详解

2016-10-29  本文已影响69人  nothing_c

图片适配、控件适配,xib适配。Masonry


//图片适配

//3gs和4的屏幕缩放系数是1. 4s~6s屏幕缩放系数是2. 6+和6s+缩放系数是3.一张20x20的图片,在3gs和4上正常显示,在缩放系数是2或者3的设备上会被放大缩放(模糊),在2上两倍,在3上三倍.所以我们现在一般只做两倍和三倍图.

//如果没有三倍图,会自动找到2倍图放大

//example.png   example@2x.png  example@3x.png 加载图片用:imageNamed:@"example.png"

//PDF不失真

//NSString *path = [[NSBundle mainBundle] pathForResource:@"0" ofType:@"png"];

//_imageView.image = [UIImage imageWithContentsOfFile:path];

_imageView.image= [UIImageimageNamed:@"脸"];

//字体有大有小字体颜色不会失真,颜色是矢量数据

NSLog(@"%@",[UIFont familyNames]);

//设置字体类型和大小

//[UIFont fontWithName:<#(nonnull NSString *)#> size:<#(CGFloat)#>];

用于生成各种需要的Icon的软件

IconKit

//控件适配

//使用第三方库Masonry进行约束适配

UIView *titleView = [[UIView alloc] init];

titleView.backgroundColor= [UIColor redColor];

//对视图进行约束之前,要保证该视图已经添加到其父视图上

[self.view addSubview:titleView];

//Masonry的使用

[titleView mas_makeConstraints:^(MASConstraintMaker*make) {

//顶部的偏移量为0

make.top.offset(0);

//左侧的偏移量为0

make.left.offset(0);

//右侧的偏移量为0

make.right.offset(0);

//定高度

make.height.offset(60);

}];

UIView *bgView = [[UIView alloc] init];

bgView.backgroundColor= [UIColor orangeColor];

[self.view addSubview:bgView];

[bgView mas_makeConstraints:^(MASConstraintMaker*make) {

make.top.offset(20);

make.left.offset(20);

//右下位置为正

//左上位置为负

make.right.offset(-20);

make.bottom.offset(-20);

}];

UIView *view1 = [[UIView alloc] init];

view1.backgroundColor= [UIColor cyanColor];

[bgView addSubview:view1];

UIView *view2 = [[UIView alloc] init];

view2.backgroundColor= [UIColorcyanColor];

[bgView addSubview:view2];

//等距等宽等高

[view1 mas_makeConstraints:^(MASConstraintMaker*make) {

//等高

make.top.offset(20);

make.bottom.offset(-20);

//等距

make.left.offset(20);

make.right.equalTo(view2.mas_left).offset(-20);

//view1和view2等宽

make.width.equalTo(view2.mas_width);

}];

[view2 mas_makeConstraints:^(MASConstraintMaker*make) {

//等高

make.top.offset(20);

make.bottom.offset(-20);

//等距

make.right.offset(-20);

}];

//适配的缩放匹配

UIView *view = [[UIView alloc] init];

view.backgroundColor= [UIColor greenColor];

[self.view addSubview:view];

[view mas_makeConstraints:^(MASConstraintMaker*make) {

make.top.offset(0);

make.left.offset(0);

//        make.width.offset(self.view.frame.size.width/2);

//multipliedBy缩放系数

make.width.equalTo(self.view.mas_width).multipliedBy(0.5);

make.height.equalTo(self.view.mas_height).multipliedBy(0.5);

}];


//XIB适配

//使用xib约束,上,下,左,右,长度,高度,只需要四个即可约束

//不需要外边框Constrain to margins

//对于提示错误或者警告,可以对其进行点击修正,之后要update

//等宽,等高都可以使用

约束

//点击约束线条可以设置比例

比例

//对于要设置子视图的关系比例,可以选中子视图及其需要成为父视图的选项,进行约束

设置
上一篇下一篇

猜你喜欢

热点阅读