web-dev-qa-db-fra.com

'automaticAdjustsScrollViewInsets' est obsolète dans iOS 11.0

Je viens de commencer à compiler jusqu'à iOS 11 et j'ai remarqué que Apple déclarait maintenant la propriété

var automaticallyAdjustsScrollViewInsets: Bool { get set }

comme étant déconseillé:

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

enter image description here

Existe-t-il une autre propriété permettant de résoudre cet avertissement dans iOS 11?

La valeur par défaut restera-t-elle vraie ou comment cela sera-t-il géré à l'avenir?

53
Lepidopteron

La valeur par défaut pour cette propriété est maintenant true. Si vous devez définir ceci, vous devrez le définir dans le scrollview qui hébergerait le viewController et définir sa propriété contentInsetAdjustmentBehavior. Ci-dessous un exemple:

scrollView.contentInsetAdjustmentBehavior = .automatic
72
totiG

Ce code peut aider:

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

Vous pouvez également définir cela dans Interface Builder. Sélectionnez votre tableView ou collectionView, puis sélectionnez une option dans le menu déroulant de l'inspecteur de taille. Jamais pour 'Comportement d'ajustement des encarts de contenu'

Size Inspector

2
Richard Hope