我在UICollectionView类中有这个函数:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("MoreCell", forIndexPath: indexPath) as! UICollectionViewCell
if let icLab = cell.viewWithTag(491) as? UILabel{
icLab.text = moreitems[indexPath.section][indexPath.row].title
}else{
println("Couldnt find label")
}
// Same code for imageView
UICollectionView
的其余部分很好,因为它确实在屏幕上正确显示了单元格,以及最初设置的标签文本(“标签”)
但我似乎无法访问里面的子视图。以下是它们的设置方式:
我确实正确设置了标签和Cell ID。
有没有人知道为什么要继续打印Couldn't find Label
屏幕看起来像这样:
显然,没有编辑占位符图像和标签。
答案 0 :(得分:1)
答案 1 :(得分:0)
来自UICollectionViewCell documentation:
var contentView:UIView {get}
配置单元格时,您可以添加任何自定义视图 在此视图中表示您的单元格内容。单元格对象放置 此视图中的内容位于任何背景视图之前。
因此,您必须在单元格的contentView中查找您的视图,而不是单元格本身
if let icLab = cell.contentView.viewWithTag(491) as? UILabel{
icLab.text = moreitems[indexPath.section][indexPath.row].title
}else{
println("Couldnt find label")
}