When launch an app, the LaunchScreen.xib is removed as soon as all the assets are initialized.
I want to make the launch screen stay for at least 1 sec.
Is there a way to achieve this?
Thank you!
When launch an app, the LaunchScreen.xib is removed as soon as all the assets are initialized.
I want to make the launch screen stay for at least 1 sec.
Is there a way to achieve this?
Thank you!
LaunchScreen ストーリーボードを使用するビュー コントローラーを作成し、それを (アニメーション化せずに)applicationDidFinishLaunching
またはapplicationWillFinishLaunching
に表示し、いつでも閉じることができます。
これは、アプリの起動に時間がかかるという印象を与え、ユーザー エクスペリエンスが低下し、一部のユーザーがアプリを削除する可能性があるため、Apple では推奨されていないことに注意してください。
Swift 4 アップデート
in classThread.sleep(forTimeInterval: 3.0)
のメソッドに1 行のコードを記述するだけ
です。didfinishLauching....
appdelegate
例
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
Thread.sleep(forTimeInterval: 3.0)
// Override point for customization after application launch.
return true
}
これについて自分の考えを書き込んだと思ったので、コメントを書きたかったのですが、多くの行は許可されません。多くのアプリ開発者がこれを行いたい (起動画面を遅らせる) のは、会社のアプリ/ゲームのブランド プレゼンスを構築したいからだと思います。
そうは言っても、Rick Maddyが他の回答の1つのコメントセクションで説明したように、起動画面はそのために設計されていません。起動画面の目的は、実際のデータが背後で読み込まれている間 (willAppear など)、空の UI を表示することで、アプリがすぐに実行されていることをユーザーに感じさせることです。
したがって、多くの開発者が望んでいることを達成するために、Apple の HIG に沿って、次のことができます。
- Apple HIG の意図どおりに起動画面に UI テンプレートを表示します。
- メイン画面の読み込み時に、ブランドの「イントロ」を表示する別の VC を読み込みます。これが一度だけ実行されることを確認してください (NSUserDefaults の単純なフラグでうまくいくはずです)。
- 長い「イントロ」の場合、ユーザーはこれをスキップできます。
同じ「イントロ」VC は、どこか (おそらくページについて) の「ビュー イントロ」ボタンをタップすることで、ユーザーが利用できるようにする必要があります。
シンプルに使いたい場合は、次を使用できますNSThread
。
[NSThread sleepForTimeInterval:(NSTimeInterval)];
このコードをapplicationDidFinishLaunching
メソッドの最初の行に入れることができます。
たとえば、default.png を 1.0 秒間表示します。
- (void) applicationDidFinishLaunching:(UIApplication*)application
{
[NSThread sleepForTimeInterval:1.0];
}
スプラッシュ画面を 1.0 秒間停止します。