ios 屏幕适配 心得
2016-03-11 14:50
309 查看
重点内容
首先 UI设计一般是按照4.7的屏幕设计。
由于 iphone 5 以上 屏幕的比例 相似。只有 4s 屏幕比例比较特殊。
要适配全部机型。我一般都是 在4s上 写一个scrollview,将屏幕 变成与5的大小相同。接下来就简单了
这是一个UIView的类别
这是.h里的内容
这是.m里的内容
通常我会写成 宏
这里的 传入的参数 直接就是 iPhone6 下的 坐标 和 宽高
调用:
在需要 适配的地方 直接 调用宏定义即可。
首先 UI设计一般是按照4.7的屏幕设计。
由于 iphone 5 以上 屏幕的比例 相似。只有 4s 屏幕比例比较特殊。
要适配全部机型。我一般都是 在4s上 写一个scrollview,将屏幕 变成与5的大小相同。接下来就简单了
这是一个UIView的类别
这是.h里的内容
+ (CGFloat)Fyh:(CGFloat)yh; + (CGFloat)Fxw:(CGFloat)xw;
这是.m里的内容
+ (CGFloat)factorForiPhone5OriPhone4Width { return (CGFloat)320 / 375; } + (CGFloat)factorForiPhone6PWidth { return (CGFloat)414 / 375; } + (CGFloat)factorForiPhone6Width { return 1; } + (CGFloat)Fxw:(CGFloat)xw { switch ((NSInteger)[UIScreen mainScreen].bounds.size.width) { case 320: return [self factorForiPhone5OriPhone4Width] * xw; case 375: return [self factorForiPhone6Width]* xw; case 414: return [self factorForiPhone6PWidth]* xw; default: return [self factorForiPhone6Width]* xw; } } + (CGFloat)factorForiPhone5OriPhone4Height { return (CGFloat)568 / 667; } + (CGFloat)factorForiPhone6PHeight { return (CGFloat)736 / 667; } + (CGFloat)factorForiPhone6Height { return 1; } + (CGFloat)Fyh:(CGFloat)yh { switch ((NSInteger)[UIScreen mainScreen].bounds.size.height) { case 480: return [self factorForiPhone5OriPhone4Height]*yh; break; case 568: return [self factorForiPhone5OriPhone4Height]*yh; break; case 667: return [self factorForiPhone6Height]*yh; case 736: return [self factorForiPhone6PHeight]*yh; default: return [self factorForiPhone6Height]*yh; } }
通常我会写成 宏
这里的 传入的参数 直接就是 iPhone6 下的 坐标 和 宽高
//屏幕适配 #define SFWX(width) [UIView Fxw:width] #define SFHY(height) [UIView Fyh:height]
调用:
在需要 适配的地方 直接 调用宏定义即可。
UIView * backView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, SFWX(320), SFHY(350))];
相关文章推荐
- Boost-ioservices介绍
- [iOS]获取当前项目工程的名称版本等信息
- iOS开发---做tableview分级展示
- iOS 解决键盘遮挡问题
- 了解iOS上的可执行文件和Mach-O格式
- iOS 解决表单被键盘遮住的问题
- OC字符串和数组
- WaxPatch在iOS客户端中的一种应用
- IOS开发之格式化日期时间
- 代理传值iOS9与之前版本的区别——提前释放
- iOS 键盘添加工具栏
- iOS开发Xcode7真机调试教程
- iOS开发即时通讯环境搭建-XMPP
- 设置启动图片- Iphone5 上下方黑边,页面显示不全的解决办法
- iOS多线程编程——GCD与NSOperation总结
- IOS版使用移动广告平台集成Google Mobile Ads SDK教程
- iOS多线程详细使用
- 解决想从证书导出p12文件但是该证书中没有密码无法导出P12文件的问题
- 二维码扫描iOS
- IOS使用APNS推送Payload字节数限制导致推送不成功