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