在iOS 8中,[UIScreen bounds] 、[UIScreen applicationFrame] 、Status bar、Keyboard这些frame都是根据设备真实方向来返回frame的,而在iOS 7中,不过是横屏还是竖屏,iOS总是返回竖屏的frame,如以下输出:

iOS 7:

竖屏:
UIScreen.mainScreen().bounds: (0.0,0.0,320.0,568.0)
横屏:
UIScreen.mainScreen().bounds: (0.0,0.0,320.0,568.0)

iOS 8:

竖屏:
UIScreen.mainScreen().bounds: (0.0,0.0,320.0,568.0)
横屏:
UIScreen.mainScreen().bounds: (0.0,0.0,568.0,320.0)

这就对某些支持横屏的App造成了困扰,其实也只需要加两个宏或者改造一下就行了:

#define SCREEN_WIDTH        (getScreenSize().width)
#define SCREEN_HEIGHT       (getScreenSize().height)
CGSize getScreenSize() {CGSize screenSize = [UIScreen mainScreen].bounds.size;if ((NSFoundationVersionNumber <= NSFoundationVersionNumber_iOS_7_1) &&UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) {return CGSizeMake(screenSize.height, screenSize.width);}return screenSize;
}

虽然 contentInset 不属于屏幕适配的内容,但是我还是放在屏幕适配里说一下。iOS8 和 iOS7 对 automaticallyAdjustsScrollViewInsets 属性的解释不一样:

  • iOS8 会把该属性的影响作用到 controller 的 view 的 subviews 上
  • iOS7 仅会作用到 self.view 上
另外当你还需要手动调用 contentInset 的时候,iOS7 似乎就不会自动调整了。解决办法就是将 automaticallyAdjustsScrollViewInsets 设置为 NO,然后自己控制 contentInset。

iOS 7、iOS 8屏幕适配相关推荐

  1. iOS和android的屏幕适配

    按基准设计,出图(切图和标注图) iOS:按2x设计,出2x.3x的图和标注图 android:按1080p设计, 出xxhdpi.xhdpi的图和标注图 绝对长度iOS:pt android:dp ...

  2. iOS开发之绝对布局和相对布局(屏幕适配)

    在IOS的UI设计中也有绝对定位和相对定位,和我们的web前端的绝对定位和相对定位有所不同但又有相似之处.下面会结合两个小demo来学习一下我们IOS开发中UI的绝对定位和相对定位.在前面的博客中所用 ...

  3. 关于IOS的屏幕适配(iPhone)——资源适配

    IOS的屏幕适配几乎不需要大量的代码操作,更多的时间我们只是动动鼠标选择一下就搞定.可以苹果在这方面做的还是比较人性的,解放了开发者. 首先来说说Iphone这几种屏(由于最近做的是iPhone AP ...

  4. iOS开发技巧 - Size Class与iOS 8多屏幕适配(一)

    0. 背景: 在iOS开发中,Auto Layout(自动布局)能解决大部分的屏幕适配问题. 但是当iPhone 6和iPhone 6 Plus发布以后, Auto Layout已经不能解决复杂的屏幕 ...

  5. IOS开发基础之屏幕组件适配添加约束

    IOS开发基础之屏幕组件适配添加约束 使得横屏显示也能自动适配 对齐我们可以按住Ctrl键,把控件连线至view中 如果我们不小心添加错了.可以清除掉约束 具体约束可以在右边查看 by johnson ...

  6. iOS屏幕适配方案-Auto Layout

    市场上的android手机五花八门.各种尺寸的屏幕让android程序员们比較头疼. 也有一些大神写了一些博客提出了自己的观点.iOS貌似也迎来了大屏6+,因此屏幕适配的问题也是有滴,因此苹果也有自己 ...

  7. ios 代码设置控件宽高比_iOS基于代码按比例约束方法进行屏幕适配

    还记得刚刚开始学习iOS的开发的时候,简简单单的小控件练习,我总是习惯性的写死Frame,后来知道了屏幕适配,添加约束这样才能使UI更好的展示在屏幕上,Objective-C中的Masonry,Swi ...

  8. (转)iOS 屏幕适配

    参考 微信的多屏适配 目前为止,iPhone屏幕尺寸已经有四种: 3.5(inch):1/3G/3GS/4/4S 4.0(inch):5/5S/5C 4.7(inch):6 5.5(inch):6Pl ...

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

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

  10. iOS 屏幕适配 iPhone X SafeArea安全区域

    三月份工作 9月份才开始自己主动了解安全区域适配问题 一. 前言 本文的出发点是对iOS设备的适配, 我们之前的适配只是考虑设备的尺寸, 设备的方向, 而在iPhoneX出来之后呢, 我们又多了一种考 ...

最新文章

  1. 帮奶牛找对象?华为云AI黑科技大揭秘
  2. 下列关于python字典变量的定义中错误的是_python练习题-day14
  3. 局部特征(1)——入门篇
  4. 24.指针和引用的区别
  5. 机器学习算法及实战——朴素贝叶斯
  6. Android安全教程(2)---Fiddler简易使用教程之使用
  7. Heritrix 1.14.4的配置和初次使用
  8. 云服务器 存放 文件夹,云服务器 存放 文件夹
  9. ResNet、Faster RCNN、Mask RCNN 是专利算法吗?盘点何恺明参与发明的专利!
  10. C++面向对象编程之类的使用(从struct到class的进阶)
  11. ha 配置ssl_haproxy ssl 配置方式-阿里云开发者社区
  12. SCOM 2012知识分享-17:创建并管理组
  13. 看看五年MacBook使用经验平常都用那些软件
  14. 黑苹果 OC (OpenCore) 引导 0.6.8 最新版及其通用配置
  15. 字迹相似度测试软件,文章相似度检测_文章在线相似度检测_文章相似度检测软件-纸牌屋检测工具...
  16. 知识点九:散列表(中)
  17. 推荐几款常用在线代码转换工具
  18. OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程
  19. 电商网站的价格大概多少钱?
  20. 500篇干货解读人工智能新时代

热门文章

  1. 小米手机微信无法连接到服务器1-1,小米1S系统版本低不能登录微信解决办法
  2. 禁止小程序输入Emoji表情符
  3. 阿里云的核心技术要点
  4. 外贸用什么企业邮箱好?哪家企业邮箱安全又可靠?
  5. 174款前端开发工具汇总,学习,开发,事半功倍!
  6. 组建计算机网络通常采用3种模式,对等网的组建_计算机中的543原则_计算机网络工作模式(2)...
  7. python xposed_Xposed插件开发进阶篇
  8. 【CSS】css文字超出显示省略号/文字超过三行显示省略号..
  9. 问题解决:系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的about_Execution_Policies
  10. JS中常用的函数求和方法总结【五种方法】