复制 NSApp -runModalForWindow:

发布于 2024-12-18 08:39:17 字数 186 浏览 3 评论 0原文

我想复制 NSApp 的 -runModalForWindow: 方法,而不让我的应用程序的其余部分变得无用。我想使用 NSWindow 将用户锁定一段时间,让我的应用程序执行一系列操作,然后关闭 NSWindow。

我知道如何单独打开 NSWindow,但禁用其他打开的窗口是一个挑战。这是可以实现的吗?

提前致谢。 瑞奇。

I want to replicate NSApp's -runModalForWindow: method without having the rest of my application rendered useless. I want to lock out the user for a period of time using an NSWindow, have my application do a bunch of things, then close the NSWindow.

I know how to open the NSWindow on its own but disabling other windows that are open is the challenge. Is this achievable?

Thanks in advance.
Ricky.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

把昨日还给我 2024-12-25 08:39:17

-[NSApplication beginModalSessionForWindow:] 和朋友们应该这样做:

NSModalSession session = [NSApp beginModalSessionForWindow:modalWindow];
while (1) {
    if ([NSApp runModalSession:session] != NSRunContinuesResponse)
        break;
    // do stuff
}
[NSApp endModalSession:session];

请注意,在后台执行“一堆事情”通常是个好主意,即使用 Grand Central Dispatch。

-[NSApplication beginModalSessionForWindow:] and friends should do the trick:

NSModalSession session = [NSApp beginModalSessionForWindow:modalWindow];
while (1) {
    if ([NSApp runModalSession:session] != NSRunContinuesResponse)
        break;
    // do stuff
}
[NSApp endModalSession:session];

Note that it’s usually a good idea to do your “bunch of things” in the background, i. e. using Grand Central Dispatch.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文