85 votes

L'option "automaticallyAdjustsScrollViewInsets" est obsolète dans iOS 11.0.

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

var automaticallyAdjustsScrollViewInsets: Bool { get set }

comme étant déprécié :

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

enter image description here

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

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

120voto

tangkunyin Points 883

Ce code peut vous aider :

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

1 votes

Ce qui est scrollView ici ?

6 votes

@AlexeyStrakh scrollView c'est n'importe quoi UIScrollView dont les inserts sont ajustés. Par exemple, sur un UICollectionViewController ce serait self.collectionView sur un UITableViewController ce serait self.tableView .

0 votes

Testé : Cela fonctionne pour iOS 11 et iOS 10. Merci beaucoup.

103voto

totiG Points 3472

La valeur par défaut de cette propriété est désormais true. Si vous devez la définir, vous devrez le faire dans le scrollview qui hébergerait le viewController et définir sa propriété contentInsetAdjustmentBehavior. Vous trouverez ci-dessous un exemple :

scrollView.contentInsetAdjustmentBehavior = .automatic

12 votes

Bien que j'aie utilisé ".never" parce que je l'avais réglé sur false, celui-ci semble être le bon remplacement ! Merci.

0 votes

Comment puis-je le gérer ? self.automaticallyAdjustsScrollViewInsets = false

4 votes

@RajasekharPasupuleti scrollView.contentInsetAdjustmentBehavior = .never

6voto

Richard Hope Points 91

Vous pouvez également définir ce paramètre dans Interface Builder. Sélectionnez votre tableView ou collectionView puis, dans le menu déroulant de l'inspecteur de taille, sélectionnez .never pour "Content Insets Adjustment Behavior".

Size Inspector

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X