要为 UICollectionViewCell 中的 label 赋值,你可以通过标签的 tag 属性或者自定义 UICollectionViewCell 子类中的 IBOutlet 来获取标签,并为其设置文本。
以下是两种方法的示例代码:
方法一:使用 tag 属性
在 Interface Builder 中给 label 设置一个唯一的 tag,然后在 cellForItemAt 方法中通过 viewWithTag 方法获取 label,并设置其文本。
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath)
// 获取 label
if let label = cell.viewWithTag(100) as? UILabel {
// 设置 label 的文本
label.text = "Item \(indexPath.item)"
}
return cell
}
方法二:使用 IBOutlet
如果使用自定义 UICollectionViewCell 子类,可以直接在子类中创建 IBOutlet,并在 cellForItemAt 方法中通过 dequeueReusableCell(withReuseIdentifier:for:) 方法返回的 UICollectionViewCell 对象来访问 IBOutlet,并为其设置文本。
class CustomCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var label: UILabel!
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CustomCell", for: indexPath) as! CustomCollectionViewCell
// 设置 label 的文本
cell.label.text = "Item \(indexPath.item)"
return cell
}