2017-01-13 9 views
0

私がシミュレータを実行すると、正常に動作します。しかし、私が物理的なデバイスで実行すると、私はエラーが発生しました - index out of range
コード:scrollToItem UICollectionViewエラー - インデックスが範囲外です

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 
    let index = NSIndexPath(row: 0, section: 0) as IndexPath 
    resultController?.collectionView?.scrollToItem(at: index, at: .bottom, animated: true) 
} 

スクリーンショット: enter image description here

P.S:私はUICollectionViewは私がクリックしたときにトップにスクロールしたいです。

+0

エラーが発生して何をやろうとしたのですか? – Honey

+0

私は同様の問題を抱えています。あなたはこの問題を解決できましたか?どのように問題が起こっているのかを特定できましたか? – user805981

答えて

1

ビューの上部にスクロールするには、setContentOffsetメソッドを使用します。

この問題は、コレクションビューの自動セル再利用によって発生します。これは、セルがオフスクリーンになったときにセルをデキューします。これにより、最初のインデックスにセルが存在しないことがあり、これが原因でインデックスの範囲外エラーが発生します。

+0

がエラーです。シミュレータ上のデバイスのみok –

+0

あなたのコードのどこにエラーがありますか?あなたの質問に投稿したコードにありますか? – nathan

0

私のプロジェクトであなたのコードをテストしました。それはうまく動作します。 resultController?.collectionView?が正しいかどうかを確認してください。

関連する問題