2016-10-24 43 views
0

UICollectionViewCellクラスでIndexPath値の取得:私は私の最初の行の最初の列のセルのラベルのY-位置決幅を変更したい私は次のようにUiCollectionViewCellクラスを持っている

class DateCollectionViewCell: UICollectionViewCell { 

    let dateLabel = UILabel() 
    override func awakeFromNib() { 
     super.awakeFromNib()   

     dateLabel.frame = CGRectMake(0, 5, CGRectGetWidth(self.frame), CGRectGetHeight(self.frame)) 
     dateLabel.textAlignment = .Left 
     dateLabel.font = UIFont(name: "HelveticaNeue", size: 13) 

     dateLabel.adjustsFontSizeToFitWidth = false 
     self.contentView.addSubview(dateLabel) 

    } 
} 

、セルのラベルの残りの部分は変わりません。だから私はIndexPath値が必要なので、現在のセルのセクションと行を調べることができます。

これはどうすれば入手できますか? 私は何をしたいのですか?

+0

indexPathを取得する必要がある場所によって異なります。セルを持っている場合は、次のように取得できます。index_path = collectionView?.indexPath(for:cell) –

+0

コレクションビューのデータソースは、設定しているセルを認識しているため、レンダリング方法を示すセルのプロパティを設定する必要があります。どのindexPathを表示しているのかを知ることは、セルの仕事ではありません。 – Paulw11

答えて

0
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 

    let cell : DateCollectionViewCell = collectionView .dequeueReusableCellWithReuseIdentifier(CellIdentifier, forIndexPath: indexPath) as! DateCollectionViewCell 

    if indexPath.section == 0 && indexPath.row == 0 { 
     // do your custom changes for the cell 
    } 

    return cell // your default cell 
} 
関連する問題