iOS11 以及iPhone X 适配记录

PS:记录自己工作学习中的一些知识;

一、项目运行后发现APP界面上下空出大约40pt;

界面上下空出.png
原因:
需要设置iPhoneX的启动图(1125x2436px),在LaunchImage;

iPhone X Portrait size(1125x2436px/375pt×812pt@3x) Landscape size(2436px1125px)

设置iPhone X启动图.png
修改后效果
添加iPhone X启动图后副本.png

二、iPhone X适配常用宏

非iPhone X :

StatusBar 高20px,NavigationBar 高44px,底部TabBar高49px

iPhone X:

StatusBar 高44px,NavigationBar 高44px,底部TabBar高83px

所以,之前项目里写死的 ±49 ±64 都要出问题,如果你之前抽离出来使用的是宏,那问题不大,如果不是,开始搬砖吧少年。

#define kStatusBarHeight [[UIApplication sharedApplication] statusBarFrame].size.height
#define kNavBarHeight 44.0
#define kTabBarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49)
#define kTopHeight (kStatusBarHeight + kNavBarHeight)

三、iOS11下权限问题相册以及地理位置以及其它的

<!-- 相册 -->
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能访问相册</string>
<!-- 相册 iOS11 -->
<key>NSPhotoLibraryAddUsageDescription</key>
<string>App需要您的同意,才能访问相册</string>
<!-- 相机 -->
<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能访问相机</string>
<!-- 麦克风 -->
<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能访问麦克风</string>
<!-- 位置 -->
<key>NSLocationUsageDescription</key>
<string>App需要您的同意,才能访问位置</string>
<!-- 在使用期间访问位置 -->
<key>NSLocationWhenInUseUsageDescription</key>
<string>App需要您的同意,才能在使用期间访问位置</string>
<!-- 始终访问位置 -->
<key>NSLocationAlwaysUsageDescription</key>
<string>App需要您的同意,才能始终访问位置</string>
<!-- iOS 11访问位置 -->
<key>NSLocationAlwaysAndWhenInUseUsageDeion</key>
<string>App需要您的同意,才能始终访问位置</string>
<!-- 日历 -->
<key>NSCalendarsUsageDescription</key>
<string>App需要您的同意,才能访问日历</string>
<!-- 提醒事项 -->
<key>NSRemindersUsageDescription</key>
<string>App需要您的同意,才能访问提醒事项</string>
<!-- 运动与健身 -->
<key>NSMotionUsageDescription</key> <string>App需要您的同意,才能访问运动与健身</string>
<!-- 健康更新 -->
<key>NSHealthUpdateUsageDescription</key>
<string>App需要您的同意,才能访问健康更新 </string>
<!-- 健康分享 -->
<key>NSHealthShareUsageDescription</key>
<string>App需要您的同意,才能访问健康分享</string>
<!-- 蓝牙 -->
<key>NSBluetoothPeripheralUsageDescription</key>
<string>App需要您的同意,才能访问蓝牙</string>
<!-- 媒体资料库 -->
<key>NSAppleMusicUsageDescription</key>
<string>App需要您的同意,才能访问媒体资料库</string>

四、

其它问题以及解决方法

1.导航栏TitileView的宽度设置

titleView宽度问题.png

顺便记录一下:
  • iPhone各机型开发尺寸


    uisdc-iphonex-20170922-3.png

参考官方文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.iPhone X尺寸问题 1. 高度增加了145pt,变成812pt. 2.屏幕圆角显示,注意至少留10pt边...
    骑行天下阅读 12,999评论 5 36
  • http://www.cocoachina.com/ios/20170917/20590.html 适配iOS11...
    珊珊大王阅读 616评论 2 2
  • 今天更新了xcode9,也终于见到iPhone X 的真面,看着齐刘海的样式,真心难看,怎么适配,如何快速适配到项...
    贝勒老爷阅读 4,341评论 3 25
  • 这篇文章是我之前看过的,当时心里只是有一丝丝的涟漪,但到自己心里有故事的时候,我又无意间翻到这篇文章,好久没哭过的...
    随心001阅读 275评论 0 1
  • 上午工作时间,接到爸爸的电话。开心地对我说老家那边的派出所可以接收户口,只需要上海这边开的证明,一切都好办。我躲在...
    Twilightttt阅读 233评论 0 0