を設定するときにiPhone X. UIScrollViewのは間違った方向にバウンス私はiPhone X、iOSの11.2にUIScrollViewの持つ問題(シミュレータ)iOSの11、contentOffset
を持っている私はscrollView.contentInsetAdjustmentBehavior = .never
を設定しない場合は、それが起こることに気づきました。
スクロール要素の単純なアニメーションを実装し、別の要素を内側にスライドさせたいと考えています。私は、私は少しバウンスを取得(0, 546)
評価に生き生きcontentOffset
を変更したときに明らかに(チェック画像):周りにあるあなたが見ることができるように
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)
:ログで確認しているようだ
10ユニットが最初に496→486→バウンスして増加しています。
(正確に同じコードで)私が大きな要素を挿入した場合 - すべてが正常である(画像を確認してください):
とログ:
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)
このためのコードがかなりあります単純な:最初の要素の設定、コンテンツオフセットの設定、完成したアニメーションに関するデリゲートコールの取得、新しい要素のスライド。
コンテンツのインセット調整の動作が無効になっていると思われますが、その場合は自分でインセットを処理する必要があります。これはiOS 11.1のiPhone 6では発生しないようです。
これがどうして起こるのか、それを修正する方法はありますか?