2

如果我想在 iPhone 上忽略 UIKit 中的触摸事件,我会这样做:

// Begin ignoring events
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
//Do my code 
// Stop ignoring events
[[UIApplication sharedApplication] endIgnoringInteractionEvents];

这允许我的代码在“忽略”调用之间运行,而不必担心用户交互会改变应用程序的任何状态。

我的问题是,如果我正在编写 Mac OS X 应用程序(AppKit 与 UIKit),我该怎么做?我基本上想在某些操作期间“锁定”用户(具体来说,进行网络调用和快速更改状态会排队大量的网络调用,这些调用会很快相互干扰)。

我需要使用 AppKit 手动管理吗?即设置一个进度条,并手动禁用所有 UI 元素?

4

1 回答 1

6

在桌面上你真的不想做这样的事情。它只能在 iPhone 上运行,因为当时用户可能没有其他任何事情可以合理地使用您的应用程序。在桌面上可能存在多个窗口等,并且任何时候您的应用程序无响应都被视为错误。

所以更直接:不,没有这样的。您必须使用工作表/模态面板来实现相同的效果,但大多数时候应该设计 UI,使其无论如何都不是问题。

于 2009-11-08T20:11:36.360 回答