我正在使用应用程序启动时显示的主窗口编写应用程序。当窗口关闭时,我希望应用程序继续运行(使用菜单栏菜单),如果用户再次点击停靠栏图标,我希望再次显示主窗口
我大概有90%的路在那里:我的应用程序在主窗口关闭Cmd-W之后正常运行,并且因为"释放时关闭"如果未选中,则窗口可以是[makeKeyAndOrderFront:] - ed,以便在单击停靠栏图标时再次显示它。
这个难题中唯一缺失的部分是拦截实际的停靠点击图标。
关于此主题的其他主题建议在窗口控制器中实现applicationShouldHandleReopen:hasVisibleWindows:或applicationShouldOpenUntitledFile :.我已经完成了两件事,而且都没有人被召唤过。
还有其他想法吗?
答案 0 :(得分:2)
关于此主题的其他主题建议在窗口控制器中实现applicationShouldHandleReopen:hasVisibleWindows:或applicationShouldOpenUntitledFile :.
仅当窗口控制器是应用程序的委托时才会这样。这是应用程序发送这些消息的对象。
但是,我不会将窗口控制器作为应用程序的委托。我通常将它们作为两个独立的对象。使一个对象专门成为应用程序的委托,当该对象收到相关的委托消息时,向窗口控制器发送一条消息,告诉它做任何需要做的事情。实际上,我通常在单窗口应用程序中做的是让应用程序的委托创建并拥有窗口控制器。您可以通过丢弃WC来响应窗口关闭,并通过检查是否有WC并创建一个WC(从而重新打开窗口)来响应重新打开。
答案 1 :(得分:0)
在[NSApp setDelegate:self];
中使用awakeFromNib
。