我认为我的问题可以最简单地提出: UIView 的内容可以更新/修改/动画......并在视图转换期间显示这些更改吗?如果是这样,如何使它起作用?
我用我的 iOS 应用程序启动时创建的重复 NSTimer 做了一个简单的测试。它大约每 0.05 秒增加一个计数器,并将增加的计数显示到放置在 Interface Builder (IB) 中我的 UIView 上的 UILabel。
除非我在下面提到一种情况,否则 iPhone 屏幕上的内容会以在 NSTimer 精度等可接受的容差范围内不断刷新的速度不断刷新,等等。(嘿,这只是对概念的测试)。
因此问题是:当应用程序启动转换发生时,UILabel 内容没有被刷新。(我的 UIView 出现在屏幕外并放大以填满整个屏幕的初始视图。)
一旦该转换完成,由于 NSTimer 在后台触发,UILabel 内容“跳转”到看起来合理的计数......唯一的事情是,在转换期间内容没有被重绘。我确实尝试了一些类似的东西:[myLabel setNeedsDisplay]; 在每次增量和标签内容更新后,它什么也不做。我猜这个问题更多的是在 UIView 或者 UIViewController 级别?
抱歉,如果我的术语在这里很糟糕,并且希望有一个简单的解决方案,除非我在我正在做的任何搜索中都没有找到它,因为使用了有缺陷或不正确的术语。
另外,我可以发布代码,但很难想象那会是什么。应用程序启动过渡动画不是我们触发或控制的……唯一的其他代码是在过渡期间令人满意地触发的 NSTimer - 它实际上只是 UIView 内容没有重绘或其他什么?
哦,还有一个想法:我不一定希望在过渡期间重绘流畅的 UIView,但我正在考虑一旦我知道这甚至可以工作后我最终想要尝试的东西......即使只是在过渡期间重绘了一些 UIView过渡看起来足够好。当然比过渡结束时看起来像是“流行音乐”要好得多。