iOS11 以及iPhone X 适配记录

作者: 一盏盏灯 | 来源:发表于2017-09-26 15:46 被阅读295次
    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

    参考官方文档

    相关文章

      网友评论

        本文标题:iOS11 以及iPhone X 适配记录

        本文链接:https://www.haomeiwen.com/subject/txajextx.html