IBoutlet Collection Button - setTitle

12 浏览
0 Comments

IBoutlet Collection Button - setTitle

我有很多按钮,它们都有相同的功能,所以我使用了一个集合视图@IBOutlet var playerButtons: [UIButton]!。我希望使用一个选择器视图能让我选择一个名字,然后设置按钮的标题,然而我不知道如何在集合视图中实现这一点。我尝试使用的函数似乎不起作用open func setTitle(_ title: String?, for state: UIControlState)。我的完整代码是:(略)

0
0 Comments

问题出现的原因:

在上述代码中,通过使用tag属性来获取按钮,并设置按钮的标题为空字符串。然而,使用tag属性来获取视图是一种不良实践,因为它会导致混乱和难以维护的代码。

解决方法:

为了解决这个问题,可以使用IBOutlet Collection来引用一组按钮,并且可以直接操作这些按钮的属性。

首先,将所有需要操作的按钮连接到IBOutlet Collection。在代码中,可以声明一个IBOutlet Collection变量,然后将按钮连接到这个变量。

@IBOutlet var buttons: [UIButton]!

接下来,在代码中,可以直接使用这个IBOutlet Collection变量来操作按钮的属性,而无需使用tag属性来获取按钮。

func playerSelectionAction(_ sender: UIButton) {

let selectedBtn = sender

selectedBtn.setTitle("", for: .normal)

print(sender)

}

通过这种方式,可以更清晰和可维护地操作按钮,避免了使用tag属性的不良实践。

0