iOS纯代码手动适配(5,6,6P)
2016-06-13 16:12
351 查看
首先,我么我们要观察一下5,6和6Plus的尺寸比例关系
机型 屏幕宽高比
iPhone5 320/568=0.563
iPhone6 375/667=0.562
iPhone6P 414/736=00.5625
很明显能看出这三种屏幕的尺寸宽高比是差不多的,因此可以在5的基础上,按比例放大来适配6和6Plus的屏幕。
在AppDelegate.h中
在AppDelegate.m中
机型 屏幕宽高比
iPhone5 320/568=0.563
iPhone6 375/667=0.562
iPhone6P 414/736=00.5625
很明显能看出这三种屏幕的尺寸宽高比是差不多的,因此可以在5的基础上,按比例放大来适配6和6Plus的屏幕。
在AppDelegate.h中
@property float autoSizeScaleX; @property float autoSizeScaleY; |
#define ScreenHeight [[UIScreen mainScreen] bounds].size.height #define ScreenWidth [[UIScreen mainScreen] bounds].size.width - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { AppDelegate *myDelegate = [[UIApplication sharedApplication] delegate]; if(ScreenHeight > 480){ myDelegate.autoSizeScaleX = ScreenWidth/320; myDelegate.autoSizeScaleY = ScreenHeight/568; }else{ myDelegate.autoSizeScaleX = 1.0; myDelegate.autoSizeScaleY = 1.0; } } 因为iPhone4s屏幕的高度是480,因此当屏幕尺寸大于iPhone4时,autoSizeScaleX和autoSizeScaleY即为当前屏幕和iPhone5尺寸的宽高比。比如, 如果是5,autoSizeScaleX=1,autoSizeScaleY=1; 如果是6,autoSizeScaleX=1.171875,autoSizeScaleY=1.17429577; 如果是6Plus,autoSizeScaleX=1.29375,autoSizeScaleY=1.2957; 现在我们获取了比例关系后,先来看一下如何解决代码设置界面时的适配。 CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)这个方法使我们常用的设置尺寸的方法,现在我设置了一个类似于这样的方法。 在.m文件中
|
相关文章推荐
- iOS毛玻璃效果实现
- iOS 屏幕尺寸、逻辑分辨率、物理分辨率之间的相互关系
- ios 十六进制转换为十进制的
- iOS开发之drawRect初涉
- iOS 持续集成- Jenkins+iOS+fir+蒲公英 搭建持续集成环境
- IOS性能调优系列:Analyze静态分析
- IOS相机字体英文转中文
- iOS开发-Could not find a storyboard named 'Main' in bundle NSBundle
- iOS 怎样判断解屏和锁屏状态
- iOS 开发 车牌识别
- iOS中的中文乱码问题,关于NSString中文转化为wchar_t
- iOS类中的属性设置背景色(统一)
- iOS开发经验:高德地图折线或者图形等覆盖物的适配显示
- iOS 开发者账号申请与注册流程
- Bugly SDK接入指南(iOS)bug统计
- iOS8新特性Self Sizing Cells,使用estimatedRowHeight自适应cell
- iOS沙盒机制总结
- iOS导航条自由缩放头像效果
- iOS开源项目学习——SVProgressHUD
- ios开发笔记之十四--用代码来监听按钮的点击