屏幕适配之内联函数
2016-02-01 11:37
253 查看
在实际开发中,由于手机屏幕尺寸的不同,所以在编程中做屏幕适配是必须要做的事情。屏幕适配的原理就是让视图的大小按比例缩放,即自己定义一个创建视图frame的CGRectMake方法. 代码如下: // 内联函数(屏幕适配)
1、设置视图frame
CG_INLINE CGRect CGRectMakeInline(CGFloat x, CGFloat y,CGFloat width,CGFloat height){
CGRect rect;
// 1、算出缩放比例 //以 6S Plus 为基准 CGFloat autoSizeX = [UIScreen mainScreen].bounds.size.width / 414; CGFloat autoSizeY = [UIScreen mainScreen].bounds.size.height / 736; // 2 计算适配之后的X轴坐标 Y 轴坐标 以及 宽高 rect.origin.x = x * autoSizeX; rect.origin.y = y * autoSizeY; rect.size.width = width * autoSizeX; rect.size.height = height * autoSizeY; return rect;
}
2、设置视图Size
CG_INLINE CGSize CGSizeMakeInline(CGFloat width,CGFloat height){
CGSize rect;
CGFloat autoSizeX = [UIScreen mainScreen].bounds.size.width / 414; CGFloat autoSizeY = [UIScreen mainScreen].bounds.size.height / 736; rect.width = width * autoSizeX; rect.height = height * autoSizeY; return rect;
}
3、设置视图的位置
CG_INLINE CGPoint CGPointMakeInline(CGFloat x,CGFloat y){
CGPoint rect;
CGFloat autoSizeX = [UIScreen mainScreen].bounds.size.width / 414; CGFloat autoSizeY = [UIScreen mainScreen].bounds.size.height / 736; rect.x = x * autoSizeX; rect.y = y * autoSizeY; return rect;
}
通过以上的三个函数,能够设置frame、size和point,设置的原理为,以 6s Plus的大小为基准,根据不同手机获屏幕尺寸,求出缩放比例,然后把视图的frame 乘以比例,从而实现屏幕的适配.
相关文章推荐
- 《jQuery Mobile即学即用》学习笔记01——框架起步
- 随便谈谈1
- NAT穿越技术之UDP打洞
- 第1章(三)安装VS2015和Xamarin For VS
- 了解HTML表单之form元素
- Hibernate 的映射类型
- Unity3D性能优化
- iOS中的BOOL和bool
- JQUERY基础知识总结
- 海之归墟
- iOS后台任务
- 金融信息交换协议(FIX)——采用多播技术的FIX会话
- 启动及停止更新界面
- vs2013编译错误代码锦集
- 第1章 开发环境安装和配置(二)安装JDK、SDK、NDK
- Linux磁盘空间监控告警
- vi替换命令用法详解
- AngularJS手动表单验证
- Unity3D的几种坐标系
- Unique ID策略