2013-01-09 7 views
7

iphone/ipadアプリケーションの効果を削除するのと同じように、私のipadアプリケーションでサムネイルアニメーションを削除する必要があります。あなたはより多くの詳細が必要な場合は どれ体私を助けサンプル写真はenter image description hereiphoneアプリケーションのような削除効果を追加するには?

を装着されているしてくださいその後、親切に私はCGAffineTransformMakeRotationを使用してこれを行ってきたコメント

答えて

7

でそれを言及。他のより良い方法があるかどうかわからない。しかし、私がやったことは自分のロジックをそのままコピーすることができ、そのビューの左上に削除ボタンを追加するだけです。次のコードでは、iPadのホーム画面と同じように、サムネイルやビューをアニメートしています。一つのことは、あなたはint方向をグローバルに宣言する必要があります。このメソッドを呼び出すたびにdirection = 1を設定します。

-(void)shakeToDelete:(UIView *)shakeMe 
{ 

    [UIView animateWithDuration:0.1 animations:^ 
    { 
     shakeMe.transform = CGAffineTransformMakeRotation(0.05 * direction); 
    } 
        completion:^(BOOL finished) 
    { 

     direction = direction * -1; 
     [self shakeToDelete:shakeMe]; 
    }]; 
} 

///編集 私はこの方法を試してみましたが、写真 enter image description here

+1

私はそれが完全にかつ簡単に作業してしまった@Umairありがとうございます。うまく動作します – Mashhadi

+0

すべてのボタンをアニメーション化する必要がある場合は、配列内のすべてのボタンに渡す必要があり、そのビューのすべてのボタンに対して機能します。これは素晴らしいです – Mashhadi

+0

@マッシュハディこんにちは友人は、このアニメーションを作成するために助けることができる私はすべてのアニメーションを与える方法を明確にしていないサムネイル私のボタンは配列の画像値とscrollview上で表示するに応じて作成 – Rocky

0

に取り付けたとして、それはあなたがより良いオートリバースを使用してアニメーションをループし、何度もアニメーションの作成起こす必要があり、私のサンプル画面で働いてしまいました電話のメモリを満たします。

このコードでは、1つのアニメーションだけが保持されます。あなたのアニメーションを停止したい場合は

view.transform = CGAffineTransformMakeRotation(-kDeleteAnimationAmplitude); 

[UIView animateWithDuration:0.1 delay:0 options:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse animations:^{ 
    view.transform = CGAffineTransformMakeRotation(kDeleteAnimationAmplitude); 
} completion:nil]; 

すると、ちょうど呼び出し:

[view.layer removeAllAnimations]; 
関連する問題