2016-11-28 4 views
0

"コレクションビューA"から "コレクションビューB"にセルタイトルラベルを渡します。今コレクションBのビューには、セルのタイトルラベルがあります。セルテキストに基づいてUICollectionViewCellのindexPathを取得する方法は?

コレクションビューBのviewDidAppearメソッドで、scrollToItemAtIndexPathを使用して、そのタイトルラベルを持つセルを含む適切なインデックスにスクロールしたいと思います。

どうすればいいですか?

答えて

0

コレクションはTableViewsのように動作します。ほとんどの人は、コレクションまたはテーブルビューの背後にあるデータのバッキングストアを持っています。これは、データが適切な順序で配列されています。したがって、cellForRowAtIndexPathまたはcellForItemAtIndexPathの呼び出しが呼び出されると、バッキングストアの値を入力するだけです。あなたのモデルがこれと同じ場合は、単にコレクションビューBのバッキングストアアレイでラベルを検索し、そのラベルがどの行にあるのかをメモしてください。

+0

このように検索すると、残りのロジックが検索されますviewdidAppearではなくcellForItemAtIndexPathにありますか? –

+0

2つのコレクションがあります。システムが呼び出す索引パスに基づいて、各セルに何が入るのかを判断する方法があります。このメソッドは、cellForItemAtIndexPathによって呼び出されます。たぶんそれは配列なのでしょうか、多分それは動的な関数です。 Bのどこに謎のラベルがあるかを知る必要がある場合は、インデックスパスを取得したときにcellForItemAtIndexPathと同じプロセスを呼び出すだけです。 –

+0

タイトルを見つけるまで、すべての行についてそのプロセスを呼び出します。 –

関連する問題