Objective-C NSButton Toggle

时间:2014-02-11 11:28:11

标签: objective-c nsbutton

我有搜索但无法找到任何信息,所以我想在这里提供一些帮助。我是Xcode和Objective c的新手。我在Interface Builder中设置了10个NSButtons作为Push On Push Off类型。我试图弄清楚如何点击其中一个按钮并突出显示,如何取消其他九个按钮的亮度。我习惯使用Java,在java中你可以创建一个if语句来关闭未点击的按钮的高亮显示。在IB中,我看不到如何向其他按钮发送消息,因为我不知道他们的“姓名”或地址。你可以帮我解决这个问题,解释一下或发送给我一个链接或视频。谢谢。

1 个答案:

答案 0 :(得分: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...>
}