2016-04-05 12 views
1

私のコレクションビューはタップされる度に1つの異なるインデックスを取得します。私はすべてが正常に動作するはずですが、それがないことだと思います{UICollectionViewは間違ったインデックスを取得します

if (segue.identifier == "projectsSegue") { 
    let indexPath = collectionView.indexPathForCell(sender as! MyCell) 
    let indexPathItem = indexPath?.item 


    let controller = (segue.destinationViewController) as! ProjectsByCodeViewController 


    controller.indexSelected = indexPathItem! 


} 

prepareForSegue(ANYOBJECT:UIStoryboardSegue、送信者!セグエ)FUNC

オーバーライド:私が実装したコードのthats。私は何をする必要がありますか?私の配列には4つの項目があり、最後の項目には3番目の項目が、1番目の項目には0番目の項目として検出されます。そして、私が最後から始めると、それはインデックス1と言います。何が間違っていますか?

答えて

0

あなたのテキストフィールド3フレームは、コンテンツが重なり、他のアイテムのレイアウトを混乱させるので、その位置にセルフレームyを使用すべきではありません。セル内のすべての項目のフレームはセル自体の点であるので、あなただけのテキストフィールドは、セルの上から20ピクセル下に始めることができます:

var titleField3 = UILabel(frame: CGRectMake(15, 20, cell.frame.width - 30, 70)) 

希望

+0

はあなたの助けをありがとう役立ちますが、それはまだ同じことをしています。配列に4つの項目がある場合は、3番目の項目を取得すると、内容の重複が開始されます(コレクションビューに表示される4番目の要素が重なっています)。タグを追加しますか?しかしどうですか? – Sergio

+0

projectImageは、計算ではなく固定された高さにする必要があります。また、cellForRowAtIndexでcell.clipsToBounds = trueを試してください –

+0

返信ありがとうございますが、それでも同じことをしています:( – Sergio

関連する問題