📅  最后修改于: 2023-12-03 15:35:27.215000             🧑  作者: Mango
awakeFromNib
方法介绍在UICollectionView
中,每一个UICollectionViewCell
都有自己的awakeFromNib
方法,这个方法会在Cell从nib文件中创建时被调用。在这个方法中,我们可以对Cell的UI进行一些初始化操作,比如添加手势、设置背景色等等。
下面是一个简单的示例,演示了如何在UICollectionViewCell
的awakeFromNib
方法中,添加一个tap手势,同时还可以通过代码或者IB来修改背景颜色。
class MyCollectionViewCell: UICollectionViewCell {
override func awakeFromNib() {
super.awakeFromNib()
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap(sender:)))
self.contentView.addGestureRecognizer(tapGesture)
}
@objc func handleTap(sender: UITapGestureRecognizer) {
self.contentView.backgroundColor = .red
}
}
我们首先定义了一个UITapGestureRecognizer
对象,并指定了它的target和action,然后将它添加到了Cell的contentView上面。这样一来,当用户点击Cell的时候,我们的handleTap
方法就会被调用,我们就可以在这个方法里修改Cell的UI了。
当然,我们也可以通过代码或者IB来修改Cell的背景颜色,比如:
// 代码中修改背景颜色
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MyCell", for: indexPath) as! MyCollectionViewCell
cell.contentView.backgroundColor = .blue
// 在IB中修改背景颜色
// 打开你的storyboard或xib文件,选中你的CollectionViewCell,切换到Attributes Inspector面板,
// 找到Background一项,可以在这里修改Cell的背景颜色。
总之,awakeFromNib
方法为我们在初始化UICollectionViewCell
的时候提供了一个很好的机会,我们可以在这里进行一些UI的初始化工作,让我们的代码变得更加优雅。