【问题标题】:Ignoring UI Events in AppKit忽略 AppKit 中的 UI 事件
【发布时间】:2009-11-08 16:21:56
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: cocoa macos event-handling appkit


    【解决方案1】:

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

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

    【讨论】:

    • 你对我正在做的事情做了多个假设,但仍然回答了这个问题。 ;) 谢谢。
    猜你喜欢
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 1970-01-01
    • 2020-10-14
    相关资源
    最近更新 更多