最近苹果发布了 iOS 11 也发布了 iPhone 8 ,iPhone 8 Plus,iPhone X ,8和8 Plus 只是 7的升级版,对于广大的开发者而言 ,没有什么需要注意的, 主要的 iPhone X 给我们带来了麻烦, 最主要的导航栏的变化,给我们带来了麻烦.
第一点: 就是升级了iOS7之前的 创建的 xib 都不能用了, 都需要重写
第二点 :也是最主要的变化 导航栏和工具栏的变化,之前的项目直接拿到 Xcode 9 上面来跑起来就会出现这样的效果, (我的这个是自定义的导航栏 就是一个 View)
2685CEEA-733D-49F0-8DE8-77F95C7D4A2B.png显然是不对的. 如果你的导航栏是系统的会出现这种
Simulator Screen Shot - iPhone X - 2017-09-21 at 11.35.24.png那么我们应该怎么办呢
解决办法
第一步, 我们应该想到的是, 不同屏幕的尺寸, 是需要不同尺寸的启动图的那么我们就应该在 <<LaunchImage>>里面加上 iPhone X 对应尺寸的启动图 大小为
1125*2436 如图
64CF4675-7639-41C9-A5B0-303AC5B8F859.png
加上过后 就会正常了 其实也不太正常
97C6C905-7FC9-4F5B-BD06-81D99244FCE0.png自定义的导航栏 的 Title 会离上面太挤了,之前的手机导航栏都是64, iPhone X 上的导航栏 就84 了 所以就会太挤了,那么处理方法就是要判断下当前的 设备是什么设备 如果是iPhone X 就需要多加20. 那么对应的下面的空间也要向下移动20,每个页面都需要这么做, 真的很烦哦.
如果你是用的系统导航栏 就不需要设置了, 直接距离上面0就可以了!
改完之后的效果
关于怎么判断否是iPhone X 呢目前我的方法是
[UIScreen mainScreen].bounds.size.height >736 为 X. 即
-(NSInteger)topHeight{
return ScreenHeight > 736 ? 84 : 64;
}
网友评论