'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?

Schmetterling
quelle

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
totiG
quelle
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
}
Tangkunyin
quelle
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

Richard Hope
quelle