【问题标题】:Why would this not work? if ( [mybutton isSelected] )为什么这行不通? if ( [mybutton isSelected] )
【发布时间】:2012-01-06 04:45:04
【问题描述】:

我的 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...
            //
        }
}

【问题讨论】:

  • 请检查按钮点击方法的发送者,当你点击一个按钮时,它应该是32个按钮中只有一个。
  • 你如何设置被选中的按钮?

标签: iphone xcode4 interface-builder uibutton


【解决方案1】:

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

替换

but.selected == YES

but == sender

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    相关资源
    最近更新 更多