Xcode MacOS Obj-C NSButton Push On Push Off Type.

问题描述 投票:0回答:1

我是新来的,只是在学习。我在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];
    }
}
objective-c xcode macos cocoa nsbutton
1个回答
1
投票

你要找的是所谓的 state. 您可以用以下方法比较按钮是否打开或关闭 self.playButton.state == NSControlStateValueOnNSControlStateValueOff.

启用是指是否可以与控件进行交互,禁用的控件将无法接收用户输入。

© www.soinside.com 2019 - 2024. All rights reserved.