2017-08-29 6 views
0


私はCollectionViewを持っています。このCollectionViewには、3ページのCollectionView自体も含まれています。
このようにして、ユーザーはメインビューでスクロールし、小さなセルを左右にスワイプできます。
私の問題は、これらのセルは、CollectionViewが常に中央のアイテム(アイテム1)をデフォルトとして表示するように初期化されます。

メインビューの負荷は、私がこれを行うと:正常に動作しますが、私がダウンしてメインCollectionViewをスクロールするとき、もちろん新しい細胞が初期化され、それらはすべてに自分のアイテム0を表示UICollectionViewを含むUICollectionViewCell

DispatchQueue.main.async { 
    for cell in self.CollectionView.visibleCells { 
     (cell as! PersonCell).CollectionView.scrollToItem(at: IndexPath(item: 1), at: [], animated: false) 
    } 
    self.CollectionView.alpha = 1 
} 


独自のCollectionView。

これにはどのような良い解決策がありますか?
ありがとうございます!

+0

たぶん、initメソッドでカスタムスクロールコールでUICollectionViewCellのサブクラスを作ります。 – milesper

+0

私は実際にすでにサブクラスを使用しています!私は何をしたのか、そして何がうまくいくのかという答えとして投稿します。あなたの考えを教えてください! – unixb0y

+0

いいえ、あなたが示唆したことは残念ながらうまくいかない:/ – unixb0y

答えて

1

これが動作しているようですが、100%の「正しい」か、常に働いている場合わからない:

func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) { 
    (cell as? PersonCell)?.collectionView.scrollToItem(at: IndexPath(item: 1), at: [], animated: false) 
} 
関連する問題