【问题标题】:Objective-C NSButton ToggleObjective-C NSButton 切换
【发布时间】:2014-02-11 11:28:11
【问题描述】:

我进行了搜索,但找不到任何信息,因此我需要一些帮助。我是 Xcode 和目标 c 的新手。我在 Interface Builder 中将 10 个 NSButton 设置为 Push On Push Off 类型。我试图弄清楚当一个按钮被单击并突出显示时,我如何取消突出显示其他九个。我习惯了Java,在Java中你可以只做一个if语句来关闭未点击按钮的突出显示。在 IB 中,我看不到如何向其他按钮发送消息,因为我不知道它们的“名称”或地址。你能帮我解决这个问题吗,解释一下或者给我一个链接或视频。谢谢你。

【问题讨论】:

    标签: objective-c nsbutton


    【解决方案1】:

    这是我过去使用的。

    创建一个包含所有按钮的 NSArray,类似于:

    NSArray* buttons = @[button1, button2, button3, button4];
    

    然后创建一个这样的方法。

    - (void) toggleButtons: (id) sender {
        for (Button *item in buttons) {
            if (item == sender) {
                item.selected = !item.selected;
            } else {
                item.button.selected = NO;
            }
        }
    }
    

    现在从您的每个按钮处理程序中调用它:

    - (IBAction) handleButton1:(id) sender {
        [self toggleButtons:sender];
        <...rest of your code...>
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-01
      • 2016-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多