gpt4 book ai didi

objective-c - 选中抑制按钮时禁用 NSAlert 按钮

转载 作者:行者123 更新时间:2023-12-03 17:22:40 24 4
gpt4 key购买 nike

我有一个带有 setShowsSuppressionButton:YESNSAlert 复选框和两个名为 OKCancel 的按钮。每当我们单击(选中)抑制按钮时,如何使 Cancel 按钮变为禁用状态?

最佳答案

您需要禁用该按钮并设置 suppressionButtonactiontarget 属性:

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 属性:

-(IBAction)selectClicked:(NSButton *)sender {
for (NSView *view in sender.superview.subviews) {
if ([view isKindOfClass:[NSButton class]]) {
NSButton *button = (NSButton *)view;
if ([button.title isEqualToString:@"OK"]) {
button.enabled = (sender.state == NSControlStateValueOn);
}
}
}
}

关于objective-c - 选中抑制按钮时禁用 NSAlert 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17282513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com