问题一:

  今天升级到Xcode 9.0,里面多了iPhone 8,iPhone 8P,iPhone X三款手机模拟器,而且发现最多可以同时运行五个模拟器。但随之而来的问题也出现了,就是 iPhone X 的屏幕适配问题,这里我就发现了 Navigation 的高度不一样了,所以先解决这个吧,以后有其他问题,再进行研究。

  以前的 iPhone 手机的状态栏高度是 20 的高度,如今 iPhone X 手机状态栏的高度是 44 (我自己的计算),但以前写的宏基本上就不能这样统一的用了,所以做了一些修改。

// 在程序启动的时候,判断手机型号
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if (iPhoneX) {
// 如果为 iPhone X 手机时
[SJXSaveService sjx_setObject:@( + ) forKey:@"Nav_Height"];
} else {
[SJXSaveService sjx_setObject:@( + ) forKey:@"Nav_Height"];
}
}
// 在自己的 .pch 文件中添加
#define iPhoneX (SCREEN_HEIGHT == 812)
#define iPhone6P (SCREEN_HEIGHT == 736)
#define iPhone6 (SCREEN_HEIGHT == 667)
#define iPhone5 (SCREEN_HEIGHT == 568)
#define iPhone4 (SCREEN_HEIGHT == 480) /* Nav_Height */
#define Nav_Height [[SJXSaveService sjx_objectForKey:@"Nav_Height"] floatValue]

  这样,在程序中还是可以统一使用之前 Navigation 高度的宏定义了。

问题二:

  之前在项目中使用了下面的代码来获取网络状态:

NSArray *children = [[[app valueForKeyPath:@"statusBar"]valueForKeyPath:@"foregroundView"]subviews];

  然而在 iPhone X 手机上运行时,会报错:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIStatusBar_Modern 0x7fd59fc072e0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key foregroundView.'

  所以只好放弃这种方法,使用 AFNetworking 里的 AFNetworkReachabilityManager 来获取网络状态了。

最新文章

  1. HTTP method POST is not supported by this URL
  2. DecoratorPattern(装饰器模式)
  3. OneProxy自动剔除延迟节点
  4. NYOJ题目769乘数密码
  5. 学习JAVA的第一天。
  6. ***CI分页:为CodeIgniter写的分页类
  7. Android开发之使用AlertDialog创建对话框,单选框和多选框
  8. Action开发、通配符、路径问题和struts中常量用法
  9. PHP 导出 Excell
  10. Qt编译时MinGW去掉对gcc动态库的依赖(去掉对libgcc_s_dw2-1.dll,libstdc++-6.dll的依赖)
  11. struts校验
  12. Android 通过onTouchEvent判断是否为双击事件
  13. Clone of COCO API
  14. 2018年12月25日 圣诞节快乐 生成器plus
  15. MVC笔记之一:MVC编程模型
  16. 基于 CentOS 搭建 FTP 文件服务
  17. VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)
  18. WebRTC 源码分析(二):安卓预览
  19. Hadoop学习之路(十)HDFS API的使用
  20. Android -- 跳转应用市场评分

热门文章

  1. 使用Dubbo的SPI扩展机制实现自定义LoadBalance——方法二 不改源码添加META-INF/dubbo元数据
  2. CodeForces #549 Div.2 D. The Beatles
  3. 长时间关机测试脚本.VBS
  4. centos下设置nodejs开机启动
  5. 原生js实现table表格列宽自由缩放
  6. p12文件和mobileprovision文件
  7. Python 3+selenium+unittest+HTMLTestRunner生成测试报告
  8. VUE-002-前端分页(el-pagination)展示数据
  9. 手动实现一个list的常用功能
  10. Hello greenDAO(SQLite)