确定NSOpenPanel何时关闭

时间:2010-03-17 19:05:35

标签: cocoa nsopenpanel

我正在尝试确定NSOpenPanel在实际关闭之前何时关闭。我需要这样做,所以我可以覆盖另一个窗口,并在其上面打开面板的屏幕截图进行动画制作。不幸的是,您似乎能够访问的所有通知似乎都在窗口已经关闭后触发。在开始转换之前,这会导致一种不和谐的口吃。

我试过了:
- 在开放式面板上使用NSWindow委托方法(显然,NSWindow委托方法都不起作用)
- 监控面板:userEnteredFilename:确认:(未调用)
- 显示带回调的对话框(面板消失后发生回调)

2 个答案:

答案 0 :(得分:1)

您应该将控制器注册为开放面板的委托,然后实施-panel:isValidFilename:委托方法。将在打开的对话框关闭之前调用此方法。

如果您只是想要通知,则应该从方法返回YES。返回NO可以阻止打开对话框。

答案 1 :(得分:0)

另一种处理此问题的方法是查看NSOpenPanel的“取消”按钮的子视图,并将自己作为目标/操作进行交换。这就是我最终做的事情。