gpt4 book ai didi

objective-c - 第一次附上一张纸

转载 作者:行者123 更新时间:2023-12-03 16:40:42 25 4
gpt4 key购买 nike

我正在编写一个需要从智能卡读取数据的应用程序。由于智能卡的工作方式,此操作可能需要几秒钟的时间,在此期间它会用迄今为止读取的内容更新显示,但在读取所有内容之前不会完全响应;因此,为了避免混淆,我想显示一张带有旋转器的工作表和文本“从卡读取数据...”,以便用户知道发生了什么。

在我的 Xib 中,我创建了一个包含微调器和 NSTextField 的新窗口。当我尝试显示该工作表时,我执行以下操作:

[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[_spinner startAnimation:self];
[NSApp beginSheet:_CardReadSheet modalForWindow:_window modalDelegate:self
didEndSelector:@selector(endSheet:returnCode:contextInfo:) contextInfo:nil];
}];

然后,当我的状态机指示我们已完成阅读时,我会:

[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[NSApp endSheet:_CardReadSheet];
[_spinner stopAnimation:self];
}];

还有一个

- (void) endSheet:(NSWindow*)sheet returnCode:(NSInteger)returnCode contextInfo:(void*)ctxInfo {
[sheet orderOut:self];
}

其中 _CardReadSheet 是我想要显示的工作表,_window 是我想要附加工作表的窗口,_spinner 是循环进度指示器。

第二次似乎工作得很好;也就是说,如果我启动应用程序,从卡中读取数据,从读卡器中取出卡,然后再次读取,它就可以正常工作。

但是,第一次时,它没有将其显示为附加到我的主窗口的工作表,而是将 CardReadSheet 显示为似乎在 xib 中指定的位置上的顶级窗口文件,并且 [sheet orderOut:self] 行不起作用(窗口仍保留在屏幕上)。

我错过了什么?

最佳答案

确保它在启动或其他一些奇怪的选项集时不可见

enter image description here

关于objective-c - 第一次附上一张纸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31410921/

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