不可编辑的 NSButton-CheckBox

Non-Editable NSButton-CheckBox

我有一个样式为复选框的 NSButton,如果某个条件为真,我想拒绝用户更改状态,但 NSButton 没有 setEditable: 方法和 setEnabled: 方法使控件变灰。有什么方法可以实现此功能,或者有其他方法来表示通常由复选框表示的数据吗?

拒绝用户选中复选框与按下按钮完全相同。您使用 setEnabled 方法拒绝或允许用户选中您的复选框。

您的代码片段看起来像这样:

if(condition for deny is met) 
{
    [myCheckBox setEnabled:NO];
}else
{
    [myCheckBox setEnabled: YES];
}

您会发现它适用于每个按钮,包括您的复选框。

为了提供此功能,我将 IBAction 附加到 "resets" 复选框的值的复选框,即如果用户单击时复选框处于打开状态,则设置为打开。