选中抑制按钮时禁用NSAlert按钮

时间:2013-06-24 18:32:31

标签: objective-c macos cocoa

我有NSAlert setShowsSuppressionButton:YES的复选框和两个名为OKCancel的按钮。每当我们点击(勾选)抑制按钮时,如何禁用Cancel按钮?

2 个答案:

答案 0 :(得分:0)

在抑制按钮处于活动状态时设置一个布尔值,并在创建警报时检查它,或者使用if else语句检查它,创建两个不同的警报之一,一个带有取消,一个带取消。

答案 1 :(得分:0)

您需要禁用按钮并设置action的{​​{1}}和target属性:

suppressionButton

然后,您可以在动作处理程序中根据复选框的状态切换按钮的alert = [[NSAlert alloc] init]; [alert setMessageText:@"text"]; [alert addButtonWithTitle:@"OK"]; [alert addButtonWithTitle:@"Cancel"]; [alert.buttons[0] setEnabled:NO]; [alert setShowsSuppressionButton:YES]; [alert.suppressionButton setTitle:@"You need to activate me first"]; [alert.suppressionButton setTarget:self]; [alert.suppressionButton setAction:@selector(selectClicked:)]; [alert runModal]; 属性:

enabled