Ich habe ein Problem mit UIScrollView auf iPhone X, iOS 11.2 (Simulator)iOS 11, prallt iPhone X. UIScrollView in einer falschen Richtung, wenn Content Einstellung
habe ich bemerkt, dass es passiert, wenn ich nicht scrollView.contentInsetAdjustmentBehavior = .never
gesetzt habe .
Ich möchte eine einfache Animation von Scroll-Elementen implementieren und ein anderes Element hineinschieben. Offenbar, wenn ich contentOffset
animatedly zu schätzen ändern (0, 546)
ich ein wenig Schlag bekommen (überprüfen Bild):
, die durch Protokolle bestätigt zu sein scheint:
scrollToBottom: insets top: 0.00; bottom: 74.00; left: 0.00; right: 0.00;
scrollToBottom: yPos 546.0
scrollToBottom: contentSize(375.0, 1240.0) self.height 768.0
scrollViewDidScroll: contentOffset (0.0, 496.333333333333)
scrollViewDidScroll: contentOffset (0.0, 486.0)
scrollViewDidScroll: contentOffset (0.0, 487.0)
scrollViewDidScroll: contentOffset (0.0, 489.0)
scrollViewDidScroll: contentOffset (0.0, 491.333333333333)
scrollViewDidScroll: contentOffset (0.0, 494.333333333333)
scrollViewDidScroll: contentOffset (0.0, 498.0)
scrollViewDidScroll: contentOffset (0.0, 501.666666666667)
scrollViewDidScroll: contentOffset (0.0, 506.0)
scrollViewDidScroll: contentOffset (0.0, 510.333333333333)
scrollViewDidScroll: contentOffset (0.0, 514.333333333333)
Wie Sie es sehen können, um 10 Einheiten springen zu Beginn 496 -> 486 -> und steigen jetzt.
Wenn (mit genau dem gleichen Code) einfügen I größeres Element - alles ist in Ordnung (Bild überprüfen):
und Protokolle:
scrollToBottom: insets top: 0.00; bottom: 214.00; left: 0.00; right: 0.00;
scrollToBottom: yPos 826.0
scrollToBottom: contentSize(375.0, 1380.0) self.height 768.0
scrollViewDidScroll: contentOffset (0.0, 498.666666666667)
scrollViewDidScroll: contentOffset (0.0, 506.0)
scrollViewDidScroll: contentOffset (0.0, 518.333333333333)
scrollViewDidScroll: contentOffset (0.0, 534.666666666667)
scrollViewDidScroll: contentOffset (0.0, 555.0)
scrollViewDidScroll: contentOffset (0.0, 578.666666666667)
scrollViewDidScroll: contentOffset (0.0, 604.666666666667)
scrollViewDidScroll: contentOffset (0.0, 632.333333333333)
scrollViewDidScroll: contentOffset (0.0, 661.0)
Der Code dafür ist eher simple: setup initial elements, setze content offset, bekomme delegate call über fertige animation, schiebe neues element ein.
Es scheint, wenn ich das Einstellungsverhalten der Inhaltseinfügung abstelle, tritt es nicht auf, aber in diesem Fall muss ich mich mit Einsätzen selbst befassen. Dies scheint auf iPhone 6 mit iOS 11.1 nicht zu passieren.
Haben Sie irgendwelche Ideen, warum dies passiert und wie Sie es beheben können?