2011-12-08 55 views
0

我有一个方法在NSTextField失去焦点时触发。此方法在当前窗口上显示一个弹出窗体。失去焦点并点击窗口的关闭按钮?

除了当我在文本字段中输入某些内容并且通过单击关闭按钮关闭窗口时,一切都很好。在这种情况下:

  • 文本字段失去焦点,并且该方法被触发,它显示弹出

  • 窗口被解雇无论如何,因为我点击关闭按钮,所以弹出窗口只能看到几秒钟。

感谢

回答

1

您应该创建一个NSWindowDelegate和实施-windowShouldClose:回到NO如果弹出菜单可见或文本字段是以前的第一个响应者(或其他但是你确定文本字段丢失焦点)。

+0

我如何知道弹出窗口在我的窗口中可见?我应该将NSAlert添加到我班的iVars吗? – aneuryzm

+0

你如何确定文本字段失去焦点?您应该可以在该方法中设置标志,然后在NSAlert处理程序中取消设置它。 –