如何初始化集合视图单元格的图像没有故事板或笔尖?如何在没有Storyboard或nib的情况下初始化带有图像的collectionViewCell?
我建立ImagePicker,并希望做没有故事板
所以用故事板的工作代码是这样,但如何以编程方式做到这一点?
class PhotosCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var imageView: UIImageView!
var image: UIImage? {
get { return imageView.image }
set { imageView.image = newValue }
}
override func prepareForReuse() {
super.prepareForReuse()
self.imageView.image = nil
}
}
我改变了代码,而无需IBOutlet中:
class PhotosCollectionViewCell: UICollectionViewCell {
var imageView: UIImageView!
public var asset: PHAsset!
public var cellTappedAction: ((PHAsset) ->()) = { _ in }
var image: UIImage? {
get { return imageView.image }
set { imageView.image = newValue }
}
override init(frame: CGRect) {
self.imageView = UIImageView()
super.init(frame: frame)
self.imageView.image = self.image
self.imageView.frame = self.frame
self.addSubview(self.imageView)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
// fatalError("init(coder:) has not been implemented")
}
override func prepareForReuse() {
super.prepareForReuse()
self.imageView.image = nil
}
}
控制器:
self.collectionView?.register(PhotosCollectionViewCell.self, forCellWithReuseIdentifier: "Cell")
所以第一张图片,而不IBOutlet中,第二个与它
没有了这一切,它编译,但我在我的收藏查看空ImageViews,更新我的回答 –
需要指定一个框架和在你看到任何东西之前设置'image'属性,也不要忘记'self.addSubview(imageView)' –
我已经更新了我的代码和答案,你可以看看吗? –