macos - NSProgressIndicator 每当开始动画时就会消失

标签 macos cocoa nsprogressindicator

我有一个 NSProgressIndicator (旋转),当它没有动画时显示良好,但一旦开始动画它就会消失。但是,当我将样式切换为进度条时,它显示得很好,包括动画等等。此外,当它停止动画时它会重新出现,因此它仅在旋转时不可见。

我是 Cocoa 编程的新手,我已经通过我的代码和在线搜索了几个小时,试图找出我的问题,但我没有成功。什么会导致这个问题?

我的代码在某种程度上基于Apple示例AVSimplePlayer的代码,发现here .

最佳答案

我今天遇到了这个问题。事实证明,当使用spin时,主线程中运行的其他事情首先运行。这意味着,如果您有

let progressIndicator // 
progressIndicator.startAnimation(self)
// do tasks
progressIndicator.stopAnimation(self)

实际的顺序是

let progressIndicator // 
// do tasks
progressIndicator.startAnimation(self)
progressIndicator.stopAnimation(self)

所以你永远看不到动画。这是解决方法,在 progressIndicator.startAnimation(self) 之后停止主运行循环一会儿。

let progressIndicator // 
progressIndicator.startAnimation(self)
RunLoop.main.run(until: Date(timeIntervalSinceNow: 0.001))
// do tasks
progressIndicator.stopAnimation(self)

那么一切都会好起来的。我找到这个答案here 。您也可以在那里尝试其他答案。

关于macos - NSProgressIndicator 每当开始动画时就会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19966590/

相关文章:

python - Emacs Inferior Python shell 使用每个 python-shell-send-region 命令显示发送消息

macos - 在 OS X 应用程序中以编程方式清除用户默认值

swift - NSProgressIndicator Swift - Alamofire

objective-c - NSMenuItem 中的 NSProgressIndicator 未在第二个显示器上更新

objective-c - 如何使用 Objective-C 在 Mac Os X 中模拟 Unicode Char "key press"?

java - 在 MAC OS 下使用 GLFW 遇到问题

c++ - gcc (mac/linux) 错误没有匹配的调用函数,而 VisualStudio 编译正常

iPhone NSBitmapImageRep

objective-c - 如何在 Mac Os X 中向我的 cocoa 应用程序的屏幕添加信息

cocoa - Xcode 中的 Webview 加载微调器