Default.pngを遅らせる方法?
-
20-09-2019 - |
質問
どのように私は長いのスプラッシュ画面を表示するには、アプリの読み込みを遅らせることができますか?
解決
あなたはアプリがスプラッシュスクリーンとしてその上に同じイメージを持って表示される最初のビューを作成し、通常どおりに起動させてください。タイマーを起動してから数秒後にあなたの本当のアプリケーションのルートビューとそのビューを置き換えます。
意図的に実際のアプリケーションの起動を遅らせることは、大きなノーノーではありません。
他のヒント
UPDATE:いいえ!真剣に、これをしない
または米国Cの関数
sleep(9);
applicationDidFinishLaunchingでこれを置く:あなたのプログラムは、9秒間停止する原因となります、他の整数も同様に入力することができます。
。編集:私は、過去一年で多くのことを学びました。これをしないでください。それは時間がかかりすぎる踏み台が自動的にアプリの起動を停止することであることの理由。一つの第二のアプリの失敗をもたらすことができるようにそのタイミングが不十分に記載されます。
この質問は似ています:タップタップリベンジのようなスプラッシュ画面3
基本的には、あなたのapplicationDidFinishLaunchingで:,あなたのDefault.pngを含む他のビューの上にイメージ図を追加します。
あなたは、おそらくこのような方法でアプリの負荷を遅らせるべきではない理由の上記の説明を参照してください。あなたが持って起こる場合でも、短い期間のために眠っているシナリオは、ビューを切り替えるの頭上に好ましいことNSThreadののsleepForTimeIntervale の代わりに睡眠を使用します()。これは、複数のフレームワークフレンドリーだとあなたは睡眠時間をより細かく制御を持っています:
[NSThread sleepForTimeInterval:0.75]
私は、クライアントが起動画像をデモしていた状況がありました。だから、これは..
私の解決策でした- (void)applicationDidBecomeActive:(UIApplication *)application
{
UIImageView *defaultImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default@2x.png"]];
[self.window addSubview:defaultImageView];
sleep(2);
[defaultImageView removeFromSuperview];
[defaultImageView release];
/*
Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
*/
}
は、
」この結果を得るためにそれをスリープメソッドを使用することができますsleepForTimeInterval
」、あなたはそれが時間を起動取得したい場合は、好きます:
- (void) applicationDidFinishLaunching:(UIApplication*)application
{
[NSThread sleepForTimeInterval:8.0];
}
これは8秒で起動を遅らせます。
警告:しかし、それは、それはあなたのアプリケーションの読み込みに長い時間程度watchdodが、それはあなたのアプリケーションを殺すことができるように、Appleが推奨されていません。 しかし、あなたはいくつかの特定のスクリーンショットを取得するには、それを必要とするか、またはいくつかの社内使用のために包み場合は、目的のために決してアプリの提出に解決するために使用することができます。