针对Xcode 9 + iOS11 的修改

Posted 尘恍若梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了针对Xcode 9 + iOS11 的修改相关的知识,希望对你有一定的参考价值。

1,UIScrollView的automaticallyAdjustsScrollViewInsets 失效了。

automaticallyAdjustsScrollViewInsets,当设置为YES时(默认YES),如果视图里面存在唯一一个UIScrollView或其子类View,那么它会自动设置相应的内边距,这样可以让scroll占据整个视图,又不会让导航栏遮盖。

ios11这个属性失效了,表现在App的现象就是TableHeaderView的背景图原本覆盖导航栏的,现在在导航栏的下方。

这是因为iOS 11为UIScrollView 添加了新的属性contentInsetAdjustmentBehavior 这是一个枚举。

修改代码如下:

    if (@available(iOS 11.0, *)) {
        self.centerTable.contentInsetAdjustmentBehavior  = UIScrollViewContentInsetAdjustmentNever;
    } else {
       self.automaticallyAdjustsScrollViewInsets = NO;
    }

 

2, 相册读取权限

iOS11下,苹果对相册的权限key做了调整,原来的 NSPhotoLibraryUsageDescription ,在iOS11之后,改成了NSPhotoLibraryAddUsageDescription。

    <key>NSPhotoLibraryAddUsageDescription</key>  //iOS 11
    <string>App需要您的同意,才能访问相册</string>  
    <key>NSPhotoLibraryUsageDescription</key>
    <string>App需要您的同意,才能访问相册</string>   //<iOS11

 

3,导航栏

 

以上是关于针对Xcode 9 + iOS11 的修改的主要内容,如果未能解决你的问题,请参考以下文章

iOS代码片段CodeSnippets

由于信号分段错误,命令失败 11 Xcode 9 - iOS 模拟器

将Xcode 8升级到XCode 9后出现AvCapture错误

iOS xcode 代码片段

iOS11编译了一个针对iOS10的应用程序[重复]

iOS 11系列 - Xcode 9新特性