2016-09-27 17 views
4

私は、iOS上にスプラッシュ画面を作るつもりは、人間、椅子のオブジェクトで構成されています。これらのオブジェクトのそれぞれは、一緒にアニメーション化された手、頭、体、および羽のような別々の側面を持っています。私はどちらが良い方法を行くのだろうか? GIFファイルをインポートするか、CALayerオブジェクトをコーディングしてアニメーションを追加しますか?iOSでGIFファイルやアニメーションコードを使用する必要がありますか?

+0

それは、タスクをコミットするために犠牲にしたいリソース、_time_または_memory_のみに依存します。 – holex

答えて

6

起動画面(スプラッシュ画面)にはGIFファイルやアニメーションのコードを使用できません。起動画面がストーリーボードの場合は、静止画、PNGまたはJPGのみ使用できます。

アプリの起動時にアニメーションが必要な場合は、最初のView Controllerで管理する必要があります。

あなたは画像のような設定で(コメントに尋ねたとして)、

UIImageView* myImageViewForAnimation = [[UIImageView alloc] initWithFrame:self.view.bounds]; 
myImageViewForAnimation.animationImages = [NSArray arrayWithObjects: 
            [UIImage imageNamed:@"image1"], 
            [UIImage imageNamed:@"image2"], 
            [UIImage imageNamed:@"image3"], 
            [UIImage imageNamed:@"image4"], nil]; 
myImageViewForAnimation.animationDuration = 1.0f; 
myImageViewForAnimation.animationRepeatCount = 0; 
[myImageViewForAnimation startAnimating]; 
[self.view addSubview: myImageViewForAnimation]; 

アップデートをimageviewをアニメーション化することができます

あなたはあなたのアクションメソッドでgesture recognizerを追加した上で、あなたのビューを取得することができますかtagをすべてimageviewに設定し、アクション方法で処理することができます。

例えば

-(void)tapOnProfileImage : (UITapGestureRecognizer*)recog{ 


UIImageView *tempView = (UIImageView *)recog.view; 

// or 

if (recog.view.tag == 1) { 

    // image 1 
} 

if (recog.view.tag == 2) { 
    //image 2 
} 
} 

ので、すべての画像ビュー上の、あなたはadd target with selector - tapOnProfileImageすべきであり、上記のコードで説明したように、あなたはそれを区別することができます!

+0

私は彼らがタップした別の画像のための異なる画面にユーザーをナビゲートしたいと思います。それでどの画像をタップするのかを決定する方法は? –

+0

画像に 'tapgesturerecognizer'を追加すると、ユーザインタラクションを検出するだけで、ユーザがタップした画像を特定する方法を提案するアクションメソッド – Lion

+0

をタップすることができます。私にガイドを与え続けてください:) –

2

gifイメージを使用できますが、起動xibでは直接使用することはできません。アニメーションが完了したら、このコントローラをナビゲーションスタックから削除して、そのビューコントローラに1つのビューコントローラを作成してGIFイメージをロードします。 https://github.com/Flipboard/FLAnimatedImageこのGIF画像ビューコントロールを使用します。

関連する問題