'automaticallyAdjustsScrollViewInsets' was

2019-01-31 11:14发布

问题:

I just started compiling up to iOS 11 and noticed that Apple now declared the property

var automaticallyAdjustsScrollViewInsets: Bool { get set }

as being deprecated:

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

Is there another property to fix this warning in iOS 11?

Will the default value stay true or how will this be handled in future?

回答1:

The default for this property is now true. If you need to set this, you will need to set it in the scrollview that would host the viewController and set its property contentInsetAdjustmentBehavior. Below is an example:

scrollView.contentInsetAdjustmentBehavior = .automatic


回答2:

This code may help:

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


回答3:

Create a User Defined Runtime Attribute named contentInsetAdjustmentBehavior for your ScrollView:

Where Value = 2 indicates .never.