gpt4 book ai didi

objective-c - UIButtons 的 IBOutletCollection - 更改按钮的选定状态

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:49:49 25 4
gpt4 key购买 nike

我在一个 View 中遇到多个 UIButton 的问题。我希望单独选择按钮,一次选择多个按钮(例如:10 个按钮,选择按钮 1、4、5、9)。

在我的 header 中,我有一个 IBOutletCollection 属性:

@property (retain, nonatomic) IBOutletCollection(UIButton) NSMutableArray *buttonToStaySelected;

在我的实现中,我有一个 IBAction:

-(IBAction)selectedButton:(id)sender{
for (UIButton *b in self.buttonToStaySelected) {
if (b.isSelected == 0){
[b setSelected:YES];
} else
[b setSelected:NO];
}
}

我遇到的问题是,当我选择与集合相关的任何按钮时,它们都会变为已选中。我知道问题很可能(几乎可以肯定)出在循环中,但我尝试规定的每个条件都会破坏代码,并且没有留下任何能够“更改”状态的按钮。

已更新

为了让它们可选择、更改状态并勾选多个,我将其用作我的最终代码:

-(IBAction)selectedButton:(id)sender {
for (UIButton *b in self.buttonToStaySelected) {
if (sender == b) {
[b setSelected:!b.isSelected];
}
}
}

感谢大家的帮助!

最佳答案

发送 selectButton: 消息时带有一个参数,该参数指定被点击的按钮,但您将该操作应用于集合中的所有按钮,而不仅仅是被点击的按钮。

-(IBAction)selectedButton:(id)sender
{
for (UIButton *b in self.buttonToStaySelected)
{
if (sender == b)
{
b.isSelected == !b.isSelected
}
}
}

关于objective-c - UIButtons 的 IBOutletCollection - 更改按钮的选定状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10888422/

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