首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述;第二种方法是和之前iPhone5的类似,比较简单,为iPhone6和6+添加两张特殊的png
iPhone6:命名:Default-375w-667h@2x.png 分辨率:7501334
6+ 命名:Default-414w-736h@3x.png 分辨率:1242
2208
注意:
如果要在app的介绍页面里有“为iPhone6,6 plus优化”的字样就必须使用第一种方法,使用第二种方法的话还是会显示“为iPhone5优化”

下面说一下纯代码适配
首先iPhone5的界面一定要完全适配,这样才能完美适配6和6Plus。
首先,我么我们要观察一下5,6和6Plus的尺寸比例关系

很明显能看出这三种屏幕的尺寸宽高比是差不多的,因此可以在5的基础上,按比例放大来适配6和6Plus的屏幕。

在AppDelegate.h中

@property float autoSizeScaleX;
@property float autoSizeScaleY;
在AppDelegate.m中

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文件中

UIImageView *imageview = [[UIImageView alloc] initWithFrame:CGRectMake1(100, 100, 50, 50)];

CG_INLINE CGRect
CGRectMake1(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
{
AppDelegate myDelegate = [[UIApplication sharedApplication] delegate];
CGRect rect;
rect.origin.x = x
myDelegate.autoSizeScaleX; rect.origin.y = y * myDelegate.autoSizeScaleY;
rect.size.width = width * myDelegate.autoSizeScaleX; rect.size.height = height * myDelegate.autoSizeScaleY;
return rect;
}
这样,这个btn按钮在5,6和6Plus的位置和尺寸比例都是一样的。

如果整个项目做完后才开始做适配的话这个方法的优势就体现出来了,面对几十个工程文件,只需自定义并且替换你的CGRectMake方法,再加上storyBoradAutoLay这个方法就瞬间完成大部分甚至全部的适配,如果遇到tableView的或者其他的手动调整一下即可。

转载于:https://www.cnblogs.com/liuqixu/p/4724221.html

iOS纯代码工程手动快速适配相关推荐

  1. ios 纯代码怎么适配ipad_iOS屏幕适配(纯代码)

    在iOS实际项目开发中, 我们经常要适配不同尺寸的屏幕,如iPhone4s,iPhone5/s,iPhone6/s,iPhone6Plus等. 在代码中创建一个控件如: UILabel *label ...

  2. ios 纯代码怎么适配ipad_iPad横竖屏下的代码适配

    你可能非常了解用不同的方式去适配不同尺寸的iPhone屏幕,在适配iPhone屏幕时你需要考虑的只是屏幕大小变化带来的UI元素间隔的变化,但是在iPad上主要针对的是横竖屏下完全不同的UI元素的布局, ...

  3. Objective-C iOS纯代码布局 一堆代码可以放这里!

    前言: 最近写的文章都是创业类,好吧,今天好好写写技术类的文章! 不过分享的不是IOS相关的文章,毕竟这几天在速成IOS,看的是objective-c,由于速成的很快,好累! 好在现在基本已经入了点门 ...

  4. Object-C iOS纯代码布局 一堆代码可以放这里!

    前言: 最近写的文章都是创业类,好吧,今天好好写写技术类的文章! 不过分享的不是IOS相关的文章,毕竟这几天在速成IOS,看的是object-c,由于速成的很快,好累! 好在现在基本已经入了点门道了, ...

  5. ios 代码设置控件宽高比_iOS--利用比例纯代码适配屏幕大小

    首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是和之前iPhone5的类似,比较简单,为iPho ...

  6. iphone6 6p纯代码适配

    新QQ交流群:418536818,之前的群已满 首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是 ...

  7. 这是我见过最好的Unity3D渠道SDK快速适配和快速打包的开源框架Usdk(支持Android/iOS)

    [b]Usdk[/b] 这是一个移动平台sdk快速适配框架和多渠道打包平台,方便android.ios移动平台渠道sdk或者各种Native功能插件的快速接入,接入过程无需修改添加任何的C#代码.内置 ...

  8. html居右显示语言设置,iOS开发:纯代码设置UIButton文字居左或者居右显示

    UIButton这个控件使用,作为资深的iOS开发人员来说是小儿科,但是有些时候还是需要记录一下UIButton的一些其他用法,这样方便快速解决实际问题.比如UIButton的纯代码编程的时候,设置文 ...

  9. iOS回顾笔记( 01 )-- XIB和纯代码创建应用的对比

    iOS回顾笔记( 01 )--  XIB和纯代码创建应用的对比 很多时候我们工作很久突然闲下来的时候,是不是也感到无聊过?这就是我现在的生活,不过闲一段时间也挺好,可以好好回顾一下自己以前学习iOS路 ...

最新文章

  1. CSS中list-style详解
  2. 怎么获取php文件,学习猿地-php怎么获取文件修改时间?
  3. 采用MiniProfiler监控EF与.NET MVC项目
  4. php+mysql个人博客系统_推荐几个开源的个人独立博客系统
  5. 计算理论入门 1.1 命题逻辑
  6. 字符和字符串在Java中的旅程
  7. 监控数据库锁阻塞_机器连接数_警报日志的shell脚本 分享
  8. 2017年初BAT的JAVA面试题汇集
  9. 大道至简,凯里亚德酒店成为酒店投资圈万众瞩目的“新”星
  10. 计算机键盘space键在哪,space键在哪
  11. 神技 破解EXCEL工作表保护密码
  12. tensorflow和cuda以及cudnn版本对齐
  13. [学习笔记]Java如何处理EXCEL的读取
  14. Android静态安全检查(九):不安全的SDCard存储检测
  15. java 交易金额转换分,java金额元与分转换工具种
  16. 重定向 return redirect:/user/index;
  17. java 随机16位随机数字_随机生成防猜不重复的16位纯数字序列号【快速且高性能】...
  18. Veins文档(中文)
  19. 爱因斯坦阶梯问题及寻找完全数问题
  20. linux找出1 100被3整除的数,linux中计算100以内能被3整除的数之和,且不超过1000

热门文章

  1. WPF and Silverlight 学习笔记(十):WPF控件模型
  2. 《.NET应用架构设计:原则、模式与实践》新书博客--试读-2.1.2 设计原则实战
  3. 创建本地数据库时发生错误及其解决方案
  4. hi3516a的文件系统错误
  5. vs发布免安装文件_戒掉PC,免pc开发,cloud ide and debug设想
  6. mysql 隐式失误_评“MySQL 隐式转换引起的执行结果错误”
  7. Linux 中 rsync 备份数据使用实例
  8. java 同步包_Java并发程序设计(四)JDK并发包之同步控制
  9. 关于学习Python的一点学习总结(12->字典相关操作)
  10. [USACO07JAN]Protecting the Flowers S