で不気味動作します。UICollectionView.scrollToItemAtIndexPathアニメーションは、私はいつもこの奇妙なアニメーションを取得</p> <p>、仮想キーボード
これは、最初の端までスクロールし、スクロールアップ再びビット、およびスクロール再び最後までダウン。なぜこれが起こり、どうやってこれを修正できますか?
これはiOS 9.3シミュレータで起こっていることを確認しました。
で不気味動作します。UICollectionView.scrollToItemAtIndexPathアニメーションは、私はいつもこの奇妙なアニメーションを取得</p> <p>、仮想キーボード
これは、最初の端までスクロールし、スクロールアップ再びビット、およびスクロール再び最後までダウン。なぜこれが起こり、どうやってこれを修正できますか?
これはiOS 9.3シミュレータで起こっていることを確認しました。
UICollectionView
は、その動作がcontentInsets.top != 0
の場合に表示されます。 明示的に設定していませんが、それは自動的にUIViewController
で設定されています。これは、automaticallyAdjustsScrollViewInsets
プロパティを設定することで無効にすることができます。
automaticallyAdjustsScrollViewInsets = false
奇妙なアニメーションが魔法のように消えます。とにかく、私のコレクションビューにはスペースがないので、ひどくレンダリングされます。
だけ手動でインセットを設定し、これが機能するようにします。
// collectionView.contentInset.top = 20 + 44
collectionView.scrollIndicatorInsets.top = 20 + 44
しかし、我々はゼロ以外の値にcontentInset.top
を設定し、あなたがそれを設定してはならないので、それは、再び奇妙なアニメーションが表示されている場合。代わりに、別の回避策を試す必要があります。たとえば、フローレイアウトを使用している場合は、UICollectionViewFlowLayout.sectionInset.top
を調整できます。
collectionView.scrollIndicatorInsets.top = 20 + 44
let flowLayout = (collectionView.collectionViewLayout as? UICollectionViewFlowLayout)
flowLayout?.sectionInset.top = 20 + 44
または空のセクションを置くことができます。または何でも。
これで正しく動作します。