在应用程序启动时,我直接在 a 上绘制东西CGBitmapContext
,将其转换为CGImage
,然后将其设置为viewDidAppear
.
它实际上相当快,但由于 Apple 需要向应用程序添加 Launch 图像,所以我添加了一个静态图像,显示屏幕的样子作为 Launch 图像。
然而,接下来发生的事情是,当应用程序启动时,启动图像出现,但屏幕会在 0.5 到 1 秒后黑屏,我认为是由于viewDidLoad
启动并viewDidAppear
开始运行,但在开始时,屏幕是全部空白。
然后在 0.5 秒后,一切都显示出来,但这会产生白屏“闪烁”。
所以看起来至少有两个选择,它们是
只是让启动图像完全空白,但我不确定Apple是否会拒绝该应用程序,因为他们想要“应用程序最初外观的静态图像”......但我想知道初始图像是否显示得这么快(0.5 到 1 秒,他们还会介意吗?)
另一种选择是将所有绘图从
viewDidAppear
移至viewDidLoad
,但我发现其中缺少某些信息viewDidLoad
,例如self.view.bounds
在viewDidLoad
is 中{{0, 0}, {768, 1004}}
,并且更改为正确{{0, 0}, {320, 460}}
的 inviewDidAppear
(正在iPhone 4S上进行测试)。
所以我认为某些视图信息尚未正确设置viewDidLoad
,这是一个两难的选择。一种方法可能是检查它是 iPad 还是 iPhone,并对self.view.bounds
值进行硬编码,但有更好的方法吗?