gpt4 book ai didi

ios - 如何在没有 Storyboard或 Nib 的情况下使用图像初始化collectionViewCell?

转载 作者:行者123 更新时间:2023-11-30 12:25:49 29 4
gpt4 key购买 nike

如何在没有 Storyboard 或 Nib 的情况下使用图像初始化 Collection View 单元格?

我正在构建 ImagePicker,并且希望在没有 Storyboard的情况下完成它

所以 Storyboard的工作代码就是这样,但是如何以编程方式完成它?

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
}
}

Controller :

self.collectionView?.register(PhotosCollectionViewCell.self, forCellWithReuseIdentifier: "Cell")

所以第一张图片没有 IBOutlet,第二张图片有 IBOutlet

Non storyboard cell storyboard cell

最佳答案

viewDidLoad()中注册您的类

collectionView.register(PhotosCollectionViewCell.self, forCellReuseIdentifier: "photosCell")

cellForItem 中使单元格出队并配置单元格的 subview

let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "photosCell", for: indexPath)
// configure cell subviews

请记住在 PhotosCollectionViewCell 中初始化您的 subview ,因为您不会使用 IBOulet

override init(frame: CGRect) {
super.init(frame: frame)
imageView.frame = contentView.bounds
self.contentView.addSubview(imageView)
}

关于ios - 如何在没有 Storyboard或 Nib 的情况下使用图像初始化collectionViewCell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44228904/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com