Ich habe eine UICollectionView, die Bilder in einem Wasserfall-Layout präsentiert, die perfekt funktioniert. Ich versuche jetzt, eine Beschreibung für jedes Bild hinzuzufügen. Die Herausforderung ist, ich versuche, das UILabel programmgesteuert hinzuzufügen, aber es wird nicht angezeigt. Ich bin sicher, dass label.text Text enthält.Programmatisch ein UILabel zu einer UICollectionViewCell hinzufügen
class NTWaterfallViewCell :UICollectionViewCell, NTTansitionWaterfallGridViewProtocol{
var photoName = ""
var imageName : String?
var imageViewContent : UIImageView = UIImageView()
var label:UILabel = UILabel()
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = UIColor.lightGray
contentView.addSubview(imageViewContent)
contentView.addSubview(label)
}
override func layoutSubviews() {
super.layoutSubviews()
imageViewContent.frame = CGRect(x: 0, y: 0, width: frame.size.width, height: frame.size.height)
imageViewContent.loadImageWithURL(imageName!)
label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 21))
label.center = CGPoint(x: 160, y: 285)
label.textAlignment = .center
label.text = photoName
}