为什么这不起作用? if([mybutton isSelected])

时间:2012-01-06 04:45:04

标签: iphone xcode4 interface-builder uibutton

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

无论如何,如果只选择(通过点击)四个按钮,那么我想要选择那些按钮。

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

我也在使用界面构建器,我在那里指定了一个图标,只要它处于选定状态,就会显示在按钮上。每个按钮的标签值也在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...
            //
        }
}

1 个答案:

答案 0 :(得分:0)

检查button_clicked方法的发件人,而不是检查“but.selected”。单击按钮时,它应该只有32个按钮中的一个。

替换

but.selected == YES

but == sender

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