可可 – OS X设计决策 在最后一个窗口关闭应用程序?

可可 – OS X设计决策 在最后一个窗口关闭应用程序?,第1张

概述与Windows,GNOME和大多数其他GUI不同的是,如果该应用程序的主窗口(或所有窗口)关闭,则OS X应用程序不会全部终止。 例如,启动Firefox,Safari,Word或大多数基于文档的应用程序。单击角落中的红点或键入cmdW以关闭窗口。您可以看到该程序的菜单仍然处于活动状态,程序仍在运行。有了OS X的新手,有时你会看到几十个无窗僵尸的运行,他们想知道为什么他们的电脑越来越慢。 使用 与windows,GNOME和大多数其他GUI不同的是,如果该应用程序的主窗口(或所有窗口)关闭,则OS X应用程序不会全部终止。

例如,启动firefox,Safari,Word或大多数基于文档的应用程序。单击角落中的红点或键入cmDW以关闭窗口。您可以看到该程序的菜单仍然处于活动状态,程序仍在运行。有了OS X的新手,有时你会看到几十个无窗僵尸的运行,他们想知道为什么他们的电脑越来越慢。

使用一些基于文档的程序,如果没有窗口,则无法终止应用程序。例如,使用Safari或Word,您仍然可以键入CmdN并获取一个新的文档窗口,用于任何应用程序的设计:浏览网页(Safari)或键入新文档(Word)。

苹果与他们的设计理念混在一起。在最后一个窗口关闭的一些关闭,有些不关闭。第三方应用程序更加混合。

当点击红色关闭按钮时,还有其他应用程序关闭。系统偏好设置,词典,Mac App Store,iPhoto和Calculator在终止或关闭窗口时终止。 iCal,通讯录,iTunes,DVD播放器不要终止。

我觉得特别烦人的是没有逻辑“新文档”或“打开”功能的应用程序,但在文档窗口关闭时它们不会终止。示例:启动iTunes或通讯录并终止主窗口。除了手动选择“退出”之外,还有一个僵尸没有窗口,没有任何功能。

最后一个窗口关闭后很容易关闭应用程序。可可甚至给你通知该事件。只需将其添加到您的应用程序委托中即可:

- (BOol)applicationShouldTerminateAfterLastwindowClosed:(NSApplication *)sender{    return YES;}

我的问题是:在最后一个窗口关闭后,是否有任何理由不能终止我的申请?为什么在OS X软件上这样变化?除非应用程序具有“新”或“开放”或其他明确理解的原因,否则不会在窗口打开的情况下终止,否则无法终止似乎是一个错误。

解决方法 根据苹果的 Human Interface Guidelines(Mac开发人员指南):

In most cases,applications that are not document-based should quit when the main window is closed. For Example,System Preferences quits if the user closes the window. If an application continues to perform some function when the main window is closed,however,it may be appropriate to leave it running when the main window is closed. For example,iTunes continues to play when the user closes the main window.

总结

以上是内存溢出为你收集整理的可可 – OS X设计决策 在最后一个窗口关闭应用程序?全部内容,希望文章能够帮你解决可可 – OS X设计决策 在最后一个窗口关闭应用程序?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1040942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存