简单问题: 我想处理我的NSSavePanel中按下取消按钮的操作。我正在使用带有委托类的面板:
NSSavePanel *save = [NSSavePanel savePanel];
[save setDelegate:self];
[save runModal];
我在文档中看到了这个:
OK: 当用户单击面板的“确定”按钮时,将调用此操作方法。
- (IBAction为)OK:(ID)发送
但我不知道如何对小组说这个方法......
感谢。
答案 0 :(得分:3)
找到另一个使用非阻塞面板的解决方案:
[save beginWithCompletionHandler:^(NSInteger result) {
if (result == NSFileHandlingPanelOKButton)
{
NSLog(@"Ok pressed.");
}
else if (result == NSFileHandlingPanelCancelButton)
{
NSLog(@"Cancel pressed.");
}
}];
答案 1 :(得分:1)
如果你只是想处理取消按下:
NSSavePanel *panel = [NSSavePanel savePanel];
panel.delegate = self;
if ([panel runModal] == NSOKButton) {
// Got it, use the panel.URL field for something
} else {
// Cancel was pressed...
}