【问题标题】:NSSavePanel handle actionsNSSavePanel 处理动作
【发布时间】:2011-09-20 21:03:54
【问题描述】:

简单的问题: 我想处理在我的 NSSavePanel 中按下取消按钮的操作。我将面板与委托类一起使用:

NSSavePanel *save = [NSSavePanel savePanel];
[save setDelegate:self];
[save runModal];

我在文档中看到了这个:

好的: 当用户单击面板的 OK 按钮时,将调用此操作方法。

  • (IBAction)ok:(id)sender

但我不知道如何对面板说处理该方法...

谢谢。

【问题讨论】:

    标签: cocoa nssavepanel


    【解决方案1】:

    找到另一个非阻塞面板的解决方案:

    [save beginWithCompletionHandler:^(NSInteger result) {
        if (result == NSFileHandlingPanelOKButton)
        {
            NSLog(@"Ok pressed.");
        }
        else if (result == NSFileHandlingPanelCancelButton)
        {
            NSLog(@"Cancel pressed.");
        }
    }];
    

    【讨论】:

      【解决方案2】:

      如果您只是想处理按下的取消:

       NSSavePanel *panel = [NSSavePanel savePanel]; 
       panel.delegate = self;
      
       if ([panel runModal] == NSOKButton) {
           // Got it, use the panel.URL field for something
       } else {
           // Cancel was pressed...
       }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-07
        相关资源
        最近更新 更多