アプリケーションのロード中に、スプラッシュ スクリーンにロード アニメーションを表示したいと考えています。iOS に .gif アニメーションを追加することは可能ですか?そうでない場合は、Progress HUD または一連の画像をアプリケーションの読み込みのように表示する方法を提案してください。
4 に答える
スプラッシュ スクリーン中にアニメーション グラフィックスを実行することはできません。
スプラッシュ スクリーンは、ユーザーが提供する静止画像であり、「起動画像」とも呼ばれます (ドキュメントをリンクしたので、私が話していることがわかります)。
ただし、スプラッシュ スクリーンが閉じられた後にアニメーションを実行したい場合は、問題なく実行できます。
このコードとその動作を入れるだけです
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
splash = [[UIImageView alloc] initWithFrame:self.window.frame];
splash.image = [UIImage imageNamed:@"splash"];
hud = [[MBProgressHUD alloc] initWithView:splash];
[splash addSubview:hud];
hud.delegate = self;
[hud show:YES];
[self.window addSubview:splash];
[self performSelector:@selector(Load_FirstView) withObject:nil afterDelay:3];
[self.window makeKeyAndVisible];
return YES;
}
UIView をサブクラス化し、カスタム スプラッシュ スクリーン ビューを作成します。そのSplashView(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
をウィンドウオブジェクトのサブビューとしてロードする必要があります。3 ~ 6 秒のタイマーを作成し、removeFromSuperView メソッドを使用してその SplashView を削除します。
カスタム スプラッシュ ビューには任意の種類のアニメーションを配置できますが、GIF アニメーションはサポートされていません。
私が実装して良い結果を得た私の推奨事項は、起動画像 (おそらくロゴ) がスプラッシュ/ロード画面の UIImageView と同じになるように、起動画像とスプラッシュ/ロード画面の両方を準備することです。次に、スプラッシュ/読み込み画面で、進行状況バーでアニメーション化し、進行状況バーをインクリメントしてから、メイン アプリを起動します。
秘訣は、起動イメージがスプラッシュ/ロード画面の UIImageView と同じであることです。ユーザーには、トランジションのようにも見えず、非常にシームレスです。