最新消息:文章中包含代码时,请遵守代码高亮规范!

IOS代码构建页面屏幕尺寸适配,Masonry介绍与使用实践【转载】

iOS Ace 671浏览 0评论

之前很少用代码搭建界面,最近开始用代码搭建界面的时候遇到了很多问题,自己也进行了思考。想了一些办法,在这里和大家分享一下。最后再转载一篇基于autolayout的轻量级框架,是朋友介绍的,还没开始研究,等研究了会再写篇文章和大家分享一下。

在iphone6发布之后,IOS屏幕的适配工作变得很重要。在项目里,我在代码构建的ui界面里一般都是用320宽度的屏幕来做适配,先写出320-568 界面的大小,然后调用我自己写的适配方法。

//屏幕宽度比例

#define kScreenWidthProportion (kScreenWidth/320.0)

//屏幕高度比例

#define kScreenHeightProportion (kScreenHeight/568.0)

//屏幕适配

-(CGRect)ScreenAdaptive:(CGRect)cgRect{

CGRect rect;
//这里如果乘以宽度比例 就是与左边距等比缩放
rect.origin.x = (cgRect.origin.x) * kScreenWidthProportion;
//如果这里乘以高度比例 就是与上边距等比缩放
rect.origin.y = cgRect.origin.y * kScreenHeightProportion;
//如果这里乘以宽度比例 就是控件宽度随尺寸等比缩放
rect.size.width = cgRect.size.width * kScreenWidthProportion;
//如果这里乘以宽度比例 就是控件高度随尺寸等比缩放
rect.size.height = cgRect.size.height * kScreenHeightProportion;
return rect;
}
UIButton *button = [[UIButton alloc] initWithFrame:[self ScreenAdaptive:CGRectMake(100, 200, 120, 168)]];

通过这个方法,我就创建了一个在界面中间的button,如果想要和左边保持距离不变,但是自身长度保持比例变化的化,在函数ScreenAdaptive中,第一行的 kScreenWidthProportion 不乘,就能实现这个效果。

可能我的这个方法只是个人愚见,也仅仅是能满足单前工作,后续我还会多学习一些知识来完善自己的布局方法。

最后附上一篇:Masonry介绍与使用实践:快速上手Autolayout 的转载链接,希望大家都能快速,方便的适配好所有尺寸的屏幕。

http://www.cocoachina.com/ios/20141219/10702.html

 

转载时请注明出处及相应链接,本文永久地址:http://blog.it985.com/20423.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者Ace的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!