'automatisch anpasstScrollViewInsets' war in iOS 11.0 veraltet


75

Ich habe gerade mit dem Kompilieren auf iOS 11 begonnen und festgestellt, dass Apple die Eigenschaft jetzt deklariert hat

var automaticallyAdjustsScrollViewInsets: Bool { get set }

als veraltet:

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

Geben Sie hier die Bildbeschreibung ein

Gibt es eine andere Eigenschaft, um diese Warnung in iOS 11 zu beheben?

Bleibt der Standardwert wahr oder wie wird dies in Zukunft gehandhabt?

Antworten:


94

Der Standardwert für diese Eigenschaft ist jetzt true. Wenn Sie dies festlegen müssen, müssen Sie es in der Bildlaufansicht festlegen, in der der viewController gehostet wird, und seine Eigenschaft contentInsetAdjustmentBehavior festlegen. Unten ist ein Beispiel:

scrollView.contentInsetAdjustmentBehavior = .automatic

10
Obwohl ich ".never" verwendet habe, weil ich es auf false gesetzt hatte, scheint dies der richtige Ersatz zu sein! Vielen Dank.
Lepidopteron

Wie kann ich damit umgehen? self.automaticallyAdjustsScrollViewInsets = false
Rajasekhar Pasupuleti

2
@ RajasekharPasupuletiscrollView.contentInsetAdjustmentBehavior = .never
WongWray

Wenn Sie eine collectionView verwenden, ist dies collectionView.contentInsetAdjustmentBehavior = .never . Wenn es sich um eine tableView handelt, gilt Folgendes: tableView.contentInsetAdjustmentBehavior = .never
Lance Samaria

108

Dieser Code kann helfen:

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

1
was ist scrollViewhier
Alexey Strakh

4
@AlexeyStrakh scrollView ist alles UIScrollView, was die Insets angepasst hat. Zum Beispiel auf einem UICollectionViewControllerwäre es self.collectionView, auf einem UITableViewControllerwäre es self.tableView.
Gordon Tucker

Getestet: Dies funktioniert für iOS 11 und iOS 10. Vielen Dank.
T.Coutlakis

Toll! Du hast mein Leben gerettet! Vielen Dank! Vielen Dank! sehr viel!
Tommy

Dies mag funktionieren, lässt die Warnung jedoch nicht verschwinden.
getestet

5

Sie können dies auch im Interface Builder festlegen. Wählen Sie Ihre tableView oder collectionView aus und wählen Sie dann aus der Dropdown-Liste im Größeninspektor die Option .nie für "Anpassungsverhalten von Inhaltseinsätzen" aus.

Größeninspektor

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.