gpt4 book ai didi

objective-c - 创建一个不是警告消息的工作表

转载 作者:行者123 更新时间:2023-12-03 17:09:32 28 4
gpt4 key购买 nike

我有an app从智能卡读取数据。由于这样做可能需要一段时间,因此我使用模式表来防止在读取数据时与应用程序交互:

[_spinner startAnimation:self];
[NSApp beginSheet:_CardReadSheet modalForWindow:_window modalDelegate:self didEndSelector:@selector(endSheet:returnCode:contextInfo:) contextInfo:nil];

其中 _CardReadSheet 显示 _spinner 和本地化文本,其效果为“正在读取数据,请稍候”,_window 是我的主窗口, endSheet:returnCode:contextInfo 只是告诉工作表关闭。

问题在于,使用模态表显然仅意味着错误或警告消息,因此以这种方式向用户显示它会导致产生默认的警告声音。这不是本意。

如何让它不发出声音?如果我使用错误的方式显示工作表,或者使用工作表不是正确的做法,我应该怎么做?

最佳答案

警告声是因为您要求 NSApp 提供工作表:它这样做是为了发出警报。我找不到官方消息来源来解释原因,但这就是正在发生的事情。

要获得类似的工作表但没有任何警报声音,请在 NSWindow 而不是 NSApp 上调用 beginSheet

Swift 中的简单示例:

myExistingWindow.beginSheet(myNewSheet, completionHandler: nil)

并关闭它:

myExistingWindow.endSheet(myNewSheet)

关于objective-c - 创建一个不是警告消息的工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44921993/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com