我很难确定如何在应用程序运行时将应用程序保持最小化并显示NSAlert。
缺点是我有一个传输数据的应用程序,并在完成传输时显示NSAlert。如果应用程序被最小化,我希望它保持这种方式,即使它显示NSAlert。
我用(在Swift中)调用NSAlert:
alert.beginSheetModalForWindow(self, completionHandler: handler)
但是当这段代码触发时,窗口会自动化。如果窗口已经没有最小化,它就不会抓住焦点或做任何意想不到的事情(这就是我想要的方式)。
有没有办法实现这个目标?谢谢!
答案 0 :(得分:0)
您可以尝试延迟显示NSAlert。
将警报代码放入方法中。当有触发器调用此方法时,请检查您的窗口是否可见。如果是 - >叫这个方法。如果不是 - >安排一秒钟后会启动的NSTimer并调用自定义方法来检查窗口是否可见(是 - >显示警告,否 - >再次安排计时器)。
仅供参考:NSAlert显示为工作表时会创建NSPanel的实例,它是NSWindow的子类。