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