我是新来的,只是在学习。我在iOS中看到了很多NSSwitch按钮的例子,但我在MacOS Obj-C中遇到了按压式按钮的问题。
举个简单的例子。
当程序加载时,一个按开按关式的按钮是不活动的(默认状态)。我有一些其他按钮也是活动的。
当push on push off按钮类型被按下(激活)时,我想禁用其他按钮,并将一个文本标签改为INACTIVE。
当按钮再次被按下时(不活动),我想启用其他按钮并再次更改文本标签。
我的代码在一次按下时就可以工作--也就是说,我启动程序并按下按钮,其他按钮就会失效,文本标签也会改变。
然而,第二次按下就不行了。按钮在一次按下后就停止了,不能作为 "开关 "工作。我知道用iOS的开关按钮可以检查isOn状态,但我只能在MacOS上找到一个 "isEnabled"。
有没有MacOS Objective-C的按开按关式按钮状态的例子?
- (IBAction)playButton:(id)sender {
if (self.playButton.isEnabled) {
self.textLabel.title = @"INACTIVE";
[self.Visual01Menu setEnabled:NO];
[self.Visual02Menu setEnabled:NO];
[self.Visual03Menu setEnabled:NO];
}
else {
self.textLabel.title = @"ACTIVE";
[self.Visual01Menu setEnabled:YES];
[self.Visual02Menu setEnabled:YES];
[self.Visual03Menu setEnabled:YES];
}
}
你要找的是所谓的 state
. 您可以用以下方法比较按钮是否打开或关闭 self.playButton.state == NSControlStateValueOn
或 NSControlStateValueOff
.
启用是指是否可以与控件进行交互,禁用的控件将无法接收用户输入。