【问题标题】:'automaticallyAdjustsScrollViewInsets' was deprecated in iOS 11.0'automaticallyAdjustsScrollViewInsets' 在 iOS 11.0 中已弃用
【发布时间】:2017-11-07 12:39:20
【问题描述】:

我刚开始编译到 iOS 11 并注意到 Apple 现在声明了该属性

var automaticallyAdjustsScrollViewInsets: Bool { get set }

被弃用:

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin

在 iOS 11 中是否有其他属性可以修复此警告?

默认值是否保持不变,或者将来如何处理?

【问题讨论】:

    标签: ios swift xcode deprecated


    【解决方案1】:

    此代码可能会有所帮助:

    if #available(iOS 11.0, *) {
        scrollView.contentInsetAdjustmentBehavior = .never
    } else {
        automaticallyAdjustsScrollViewInsets = false
    }
    

    【讨论】:

    • 这里的scrollView 是什么?
    • @AlexeyStrakh scrollView 是正在调整插图的 UIScrollView。例如,在UICollectionViewController 上将是self.collectionView,在UITableViewController 上将是self.tableView
    • 已测试:这适用于 iOS 11 和 iOS 10。非常感谢。
    • 太棒了!你救了我的命!谢谢!谢谢!非常喜欢!
    • 这可能有效,但不会使警告消失。
    【解决方案2】:

    此属性的默认值现在为 true。如果你需要设置它,你需要在将承载 viewController 的滚动视图中设置它并设置它的属性 contentInsetAdjustmentBehavior。下面是一个例子:

    scrollView.contentInsetAdjustmentBehavior = .automatic
    

    【讨论】:

    • 虽然我使用了“.never”,因为我已将其设置为 false,但这似乎是正确的替代品!谢谢。
    • 我该如何处理? self.automaticallyAdjustsScrollViewInsets = false
    • @RajasekharPasupuleti scrollView.contentInsetAdjustmentBehavior = .never
    • 如果您使用的是 collectionView,那么它就是 collectionView.contentInsetAdjustmentBehavior = .never。如果是 tableView 则:tableView.contentInsetAdjustmentBehavior = .never
    【解决方案3】:

    您也可以在 Interface Builder 中进行设置。选择您的 tableView 或 collectionView,然后从 Size Inspector 的下拉列表中选择 .never for 'Content Insets Adjustment Behavior'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-07
      • 2018-06-07
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多