【发布时间】:2015-10-13 15:55:18
【问题描述】:
我有一个 OS X Swift 应用程序可以在 Yosemite 中正常运行,但进度条在 El Capitan 中没有显示。其他一切在“真实”程序中正常工作。
我创建了一个存根程序来尝试调试问题,但我仍然无法显示进度条。使用 XCode 7.0.1 (7A1001) 从头开始创建这个
测试应用接受一个计数器输入(输入)并且应该显示一个进度条,直到达到计数。如果进度条未隐藏,它确实会出现,但直到结束时才会刷新,当它显示为蓝色 100% 时。我添加了progressBar.display() - 没有效果,我得到与window.display() 相同的效果,即没有变化。
progCount 是我放在窗口上的另一个字段,以查看是否可以看到数字在增加,但直到最后一个数字才显示。
我使用 debug 并看到 i 值上升,progressBar.doubleValue 也增加了。它看起来像一个窗口重绘问题,但我找不到不同的方法。还要记住,这适用于优胜美地。
欢迎任何帮助,谢谢
--- 代码片段----
@IBOutlet weak var window: NSWindow!
@IBOutlet weak var progressBar: NSProgressIndicator!
@IBOutlet weak var counter: NSTextField!
@IBOutlet weak var progCount: NSTextField!
//(a bit of housekeeping not shown)
@IBAction func countUp (sender: NSButton) {
var i=0
if counter.integerValue != 0 {
progressBar.hidden = false
progressBar.minValue = 0.0
progressBar.doubleValue = 0.0
progressBar.maxValue = counter.doubleValue
while i < counter.integerValue {
i=i+1
progressBar.incrementBy(1.0)
progCount.doubleValue = progressBar.doubleValue
}
progressBar.hidden = true
}
}
---结束---
【问题讨论】:
标签: macos swift osx-elcapitan