我想做这样的NSAlert
:
如您所见,“返回”按钮是第二个按钮。我怎样才能做到这一点?
下面是我用来创建 NSAlert
的代码示例,但第一个按钮获得了焦点:
NSAlert *alert = [[NSAlert alloc] init];
[alert setMessageText:@"Are you sure you want to disconnect?"];
[alert addButtonWithTitle:@"Disconnect"];
[alert addButtonWithTitle:@"Cancel"];
[alert runModal];
我想聚焦“取消”按钮。有任何想法吗?谢谢!
最佳答案
要更改 NSAlert
对象内的 NSButton
元素的等价键,您必须直接访问按钮(在创建之后和 之前 - runModal
) 并使用 -setKeyEquivalent:
方法更改等效键。
例如,要将 Disconnect
设置为 ESC,将 Cancel
设置为 return,您可以执行以下操作:
NSArray *buttons = [alert buttons];
// note: rightmost button is index 0
[[buttons objectAtIndex:1] setKeyEquivalent: @"\033"];
[[buttons objectAtIndex:0] setKeyEquivalent:@"\r"];
在调用 -runModal
之前
关于objective-c - 如何使 NSAlert 的第二个按钮成为返回按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16627894/