gpt4 book ai didi

ios - 选择和取消选择按钮集合

转载 作者:可可西里 更新时间:2023-11-01 00:38:58 27 4
gpt4 key购买 nike

我有三个名为 One, Two,Three, 的按钮,以及一个用于收集这三个按钮的函数 buttonPressed,如下所示。

var btnTag = [Int]()

@IBAction func buttonPressed(_ sender: UIButton) {

guard let button = sender as UIButton? else { return }
if(btnTag.contains((sender as AnyObject).tag!))
{
if let index = btnTag.index(of: (sender as AnyObject).tag!)
{
btnTag.remove(at: index)
}
}
else
{
btnTag.append((sender as AnyObject).tag!)
}

if !button.isSelected {
button.isSelected = true
button.setTitleColor(.red, for: .normal)
}
else
{
button.isSelected = false
button.setTitleColor(.white, for: .normal)
}
}

我喜欢在单击时将按钮的颜色更改为红色,然后在单击其他按钮时将前一个按钮的颜色更改为白色。因此,如果我按下 One,,我希望 One 变为红色,然后当我按下 Two 时,我想要 TworedOnewhite。我执行了上述操作,但它允许多选 并且无法取消选择 之前的更改。我该如何解决这个问题?

最佳答案

您可以简单地创建UIButton 的集合。之后,从 Storyboard 中分配所有三个 UIButton 的标签。

@IBOutlet var buttons: [UIButton]!

使用上面的集合,将所有按钮连接到 Outlet。还将以下操作与所有按钮连接起来。

@IBAction func buttonPressed(_ sender: UIButton) {
buttons.forEach { $0.isSelected = false
$0.setTitleColor(.white, for: .normal)
}

buttons[sender.tag].setTitleColor(.red, for: .normal)
buttons[sender.tag].isSelected = true
}

关于ios - 选择和取消选择按钮集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51893640/

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