如何在swift中从另一个类中识别iboutlet

问题描述 投票:1回答:2

所以我想从视图控制器更改按钮颜色,但问题是我的按钮引用了我的集合视图类。我不知道如何从另一个班级调用该按钮

集合视图

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

}
swift iboutlet
2个回答
1
投票

我的第一直觉是使用delegationobserver模式。

如果不了解你的代码的更多细节,我不能说更多(即如果它真的很简单,视图层次结构,那么Joakim Danielson关于使用公共函数的评论可能是你最好的解决方案)。


0
投票

您不应该使用构造函数调用来实例化您的单元格 - 它不会创建子项目,这就是为什么您在按钮上有nil引用的原因。您应该调用dequeueReusableCell UICollectionView方法来获取完全创建的单元格。

© www.soinside.com 2019 - 2024. All rights reserved.