2016-03-27 10 views
0

UICollectionViewを使用してアプリケーションの日カレンダーを作成しようとしています。UICollectionViewセル選択の問題 - ビューが読み込まれたときに可視領域のセルのみを選択できない

ScreenShot of my day calendar.The view contain 00:00 to 24:00 is developed by collection view. In the bottom is a tableview

私はすべてのセルを表示するためにカスタマイズされたUICollectioViewLayoutを使用し、それが正常に動作します!すべてのセルが正しい位置に表示されます。

各イベントの詳細を表示するために、[didSelectItemAtIndexPath]メソッドと[prepareForSegue]メソッドを組み合わせて、ユーザーがセルに触れるとデータを表示するポップオーバービューをトリガーします。

ただし、コレクションビューを最初にロードしたときに表示領域に表示されないセルのみを選択できます。

つまり、collectionviewのコンテンツサイズは[1560,340]、collectionviewのフレームサイズは[560,340]です。したがって、このコレクションビューは垂直方向にスクロールできます。私は、細胞の位置が[560,340](例えば、[30,340])よりも高い場合、この細胞を選択することができないことを発見しました。セルの位置が[560,340]よりも低い場合、これらのセルに触れたユーザーはdidSelectItemAtIndexPathメソッドをトリガしてpopoverviewを表示できます。

何が問題になるのか全く分かりません。誰も似たような問題に直面していますか?

+0

スクロールして上にスクロールしても、最初の項目は選択できますか? –

答えて

0

この問題は、zIndexから発生する可能性があります。

私のオリジナルデザインです。 UILabelのborderLineであるtimeLabelsと2本の垂直線は、SupplementaryViewによって表示されました。イベントはUICollectionViewCellによって表示されました。私は、SupplementaryViewを削除すると、すべてのセルを正しく選択できることが分かりました。だから私はUICollectionViewCellですべて(イベント、行、時刻)を表示しようとしました。しかし、選択問題はまだ発生しています。最後に、zIndexというパラメータがあることがわかりました。イベントを表示するセルのzIndexを1に設定し、他のセルを0に設定すると、選択問題はなくなります。すべてが完璧に動作します。

私は試していませんが、私のオリジナルデザインでは、SupplementaryViewのzIndexを0に設定すると選択問題を解決できるかもしれません。

関連する問題