所以我想从视图控制器更改按钮颜色,但问题是我的按钮引用了我的集合视图类。我不知道如何从另一个班级调用该按钮
集合视图
class CollectionViewCell: UICollectionViewCell {
@IBOutlet weak var menusButton: UIButton!
public func MenuButtonFunction (){
menusButton.backgroundColor = #colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
}
视图控制器
var menuButtonFunc = CollectionViewCell()
override func viewDidLoad() {
super.viewDidLoad()
menuButtonFunc.MenuButtonFunction()
doneButton.layer.cornerRadius = 10
}
我的第一直觉是使用delegation或observer模式。
如果不了解你的代码的更多细节,我不能说更多(即如果它真的很简单,视图层次结构,那么Joakim Danielson关于使用公共函数的评论可能是你最好的解决方案)。
您不应该使用构造函数调用来实例化您的单元格 - 它不会创建子项目,这就是为什么您在按钮上有nil
引用的原因。您应该调用dequeueReusableCell UICollectionView方法来获取完全创建的单元格。