UIImageViews
内にいくつかのUIScrollView
があり、ユーザーがそのうちの1つを長押しすると小刻みに動きます。 iPad/iPhoneメニューのアイコンを長押ししたときの動作に似ています。
だから私は以下を持っています:
- (void)startWiggling {
for (UIImageView *touchView in [scrollView subviews]) {
[UIView beginAnimations:@"wiggle" context:nil];
[UIView setAnimationDuration:0.1];
[UIView setAnimationRepeatAutoreverses:YES];
[UIView setAnimationRepeatCount:FLT_MAX];
//wiggle 1 degree both sides
touchView.transform = CGAffineTransformMakeRotation();
touchView.transform = CGAffineTransformMakeRotation(-0.0174532925);
[UIView commitAnimations];
}
}
- (void)stopWiggling {
NSLog(@"Stop wiggling");
}
これは正常に動作します。問題は...ユーザーがボタンを押した後、どうすればstop揺れますか?ボタンがあり、それに接続しているなど、stopWiggling
メソッドに到達しているので問題ありません。でもそうなんだ...
UIImageViews
からUIViewアニメーションを削除するにはどうすればよいですか? #import <QuartzCore/QuartzCore.h>
その後
[myView.layer removeAllAnimations];
または
[self.view.layer removeAllAnimations];