ios - how - ¿Por qué la salida de UICollectionViewCell es nula?
uicollectionview header swift (6)
¡Tengo que registrar esa semilla chicos!
collectionView.register(UINib(nibName: "CustomCell", bundle: nil), forCellWithReuseIdentifier: "CustomCellId")
He creado un UICollectionViewCell personalizado en el Interface Builder, vistas agrupadas en él a la clase, y luego cuando quiero usar y establecer una cadena en la etiqueta de la cadena, esa etiqueta tiene un valor nulo.
override func viewDidLoad() {
super.viewDidLoad()
// Register cell classes
self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")
}
override func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {
var cell: LeftMenuCollectionViewCell
cell = collectionView.dequeueReusableCellWithReuseIdentifier("ls", forIndexPath: indexPath) as LeftMenuCollectionViewCell
println(cell.label) // <- this is nil, why??
cell.label.text = "asd"
return cell
}
Y la celda subclase:
class LeftMenuCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var label: UILabel!
@IBOutlet weak var activityIndicatorView: UIActivityIndicatorView!
}
Estoy llamando self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")
nuevo. Si está usando un guión gráfico, no quiere llamar a esto . Sobrescribirá lo que tienes en tu guión gráfico.
Si todavía tiene el problema, compruebe si reuseIdentifier
es el mismo en dequeueReusableCellWithReuseIdentifier
y en el storyboard
.
Si está utilizando xib, asegúrese de haber agregado esta línea de código a su viewdidload.
[self.collectionView registerNib:[UINib nibWithNibName:@"MyCell" bundle:nil] forCellWithReuseIdentifier:@"CELL"];
Solo elimina esta linea:
self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")
Tuve un problema similar, pero mi error fue que no delegué CollectionViewCell para poder cambiar el texto de la etiqueta.
Tuve un problema similar. Yo uso el guión gráfico y establece reuseIdentifier en todas partes. En el guión gráfico de la celda y en el siguiente método:
override func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell!
Pero todavía tengo problemas de que mis opiniones en mi customcell son nulas.
class CustomCell: UICollectionViewCell { @IBOutlet weak var myLabel: UILabel! }