Iphone 为什么这不起作用?如果([mybutton isSelected])

Iphone 为什么这不起作用?如果([mybutton isSelected]),iphone,xcode4,interface-builder,uibutton,Iphone,Xcode4,Interface Builder,Uibutton,我的GUI中有32个按钮。。。(不要问) 无论如何,如果只选择(通过点击)四个按钮,那么我想为那些被选中的按钮做些事情 我的问题是,当我检查每个按钮的“selected”属性时,它们都返回true 我也在使用interface builder,在那里我指定了一个图标,每当按钮处于选定状态时,它都会显示在按钮上。每个按钮还具有范围为100到132的标记值。选定按钮的图标工作得很好!当你点击4个按钮时,这4个按钮有图标,没有其他按钮。。。但是,当我运行代码来检测所选内容时,所有内容都返回true 你

我的GUI中有32个按钮。。。(不要问)

无论如何,如果只选择(通过点击)四个按钮,那么我想为那些被选中的按钮做些事情

我的问题是,当我检查每个按钮的“selected”属性时,它们都返回true

我也在使用interface builder,在那里我指定了一个图标,每当按钮处于选定状态时,它都会显示在按钮上。每个按钮还具有范围为100到132的标记值。选定按钮的图标工作得很好!当你点击4个按钮时,这4个按钮有图标,没有其他按钮。。。但是,当我运行代码来检测所选内容时,所有内容都返回true

你知道我做错了什么吗

for (int j = 1; j <= 32; j++) {
        but = (UIButton *)[self.view viewWithTag:(j + 100)];
        if(but.selected == YES) {
            // Note: I have also tried if ([but isSelected])
            //       I have also tried if ([but isSelected] == YES)
            //
            // every button is entering this section of code...
            //
        }
}

for(int j=1;j检查按钮单击方法的发送者,而不是检查“but.selected”。单击按钮时,它应该是32个按钮中的一个

替换

but.selected == YES


我认为这肯定会解决您的问题。

请检查按钮单击方法的发送者。当您单击一个按钮时,它应该是32个按钮中的一个。您如何将选中的按钮设置为选中?
but == sender