我有一个名为UIProgressView
的{{1}}我通过Interface Builder放置在我的View Controller上。在iOS模拟器上,progTimer
显示正常,但是当我在iPhone上测试它时,它不会出现。
以下是修改它的代码。
UIProgressView
有什么想法吗?提前致谢。
答案 0 :(得分:2)
ALL:出于某种原因,我将进度视图的样式更改为“Bar”,它显示正常。不知道是什么导致了最初的问题,但现在虽然有不同的样式栏,但它现在可以工作。
答案 1 :(得分:1)
我的猜测是,在设备上,扫描过程移动速度太快,以至于您无法看到它。要确保它在ProgressIncrease方法中使用ad和NSLog,以查看它扫描的速度。我的预加载通知程序出现了同样的问题,它在模拟器上显示但在设备上没有显示。
答案 2 :(得分:1)
你打电话给[自我扫描];这似乎是罪魁祸首。扫描操作运行多长时间?
非常重要的是要注意,虽然任何长时间运行的操作都在主线程(UI线程)中运行,但主线程循环中不会执行其他代码(直到长时间运行的操作完成),这意味着您的计时器功能甚至按下按下按钮一次按下将无法工作。您需要使用NSOperation和调度队列,或者创建一个线程并在后台运行扫描操作,并使用NSMachPort或NSObject performSelectr:OnThread:...等向主线程发送通知,以便更新进度条。
顺便说一句,扫描过程和进度条完全没有关系;理想情况下,进度条应更新已完成扫描的次数,这意味着扫描过程必须通知进度条,如果扫描在辅助线程中运行,也会在主线程中更新。