适配详解

图片适配、控件适配,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

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

约束

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

比例

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

设置
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • (一)Masonry介绍 Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布...
    木易林1阅读 7,176评论 0 3
  • Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性...
    3dcc6cf93bb5阅读 5,835评论 0 1
  • 介绍 git地址 Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁...
    趴着等天鹅阅读 5,293评论 4 8
  • 刚把甩手功500个和阳气生发功9*99做完,把自由书写做完 最近产生了一种感觉,不知道是好是坏,总喜欢跟别人比,想...
    心我听你说阅读 1,229评论 0 0
  • 我一饮而尽 你酿的爱情的酒 些许酸楚 些许忧愁 当我尝了这一口 便已放不下这酒杯 一遍遍回想 一遍遍把你守候 ...
    王不烦阅读 1,702评论 0 1

友情链接更多精彩内容