アプリの起動時に、 に直接描画し、CGBitmapContext
に変換してからCGImage
、 のビューのレイヤーに設定しviewDidAppear
ます。
これは実際には非常に高速ですが、Apple は起動イメージをアプリに追加する必要があるため、起動イメージとして画面がどのように見えるかの静的イメージを追加しました。
しかし、次に起こることは、アプリを起動するとLaunchイメージが表示されますが、0.5〜1秒後に画面が空白になり、viewDidLoad
キックインしviewDidAppear
て実行を開始したためだと思いますが、最初は画面がすべて空白。
その後、0.5 秒後にすべてが表示されますが、これにより白い画面の「フラッシュ」が作成されます。
したがって、少なくとも2つのオプションがあるように見えます。
起動画像を完全に空白にするだけですが、「アプリが最初にどのように見えるかの静的画像」が必要なため、Appleがアプリを拒否するかどうかはわかりません...しかし、最初の画像がすぐに表示されるのだろうか(0.5~1秒、それでもいいですか?)
もう 1 つのオプションは、すべての図面を から に移動することです
viewDidAppear
が、一部の情報がに欠けているviewDidLoad
ことがわかりました。viewDidLoad
self.view.bounds
viewDidLoad
{{0, 0}, {768, 1004}}
{{0, 0}, {320, 460}}
viewDidAppear
そのため、一部のビュー情報がまだ正しく設定されていないと思いますviewDidLoad
。これはジレンマです。1 つの方法は、iPad か iPhone かを確認してself.view.bounds
値をハードコードすることですが、これを行うためのより良い方法はありますか?