iOS Objective-Cでアニメーション
ページ遷移で発火させるならviewDidAppearで記述したほうが良い
- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // trigger animation }
animateWithDurationを使う
開始
[UIView animateWithDuration:2.0f delay:0.5f options:UIViewAnimationOptionCurveEaseInOut animations:^ { _view.frame = CGRectMake(0, 0, 400, 400); } completion:^(BOOL f) { //animation completed }];
停止
[UIView setAnimationBeginsFromCurrentState:YES]; [UIView animateWithDuration:0.001 animations:^{ _view.alpha = 1.0; }];
animateWithDurationを使う
開始
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform"]; anim.fromValue = @[@0.2,@0.2,@0.2]; anim.toValue = @[@2,@2,@2]; anim.valueFunction = [CAValueFunction functionWithName:kCAValueFunctionScale]; anim.duration = 2; anim.repeatCount = HUGE_VALF; [_view.layer addAnimation:anim forKey:nil];
停止
[_view.layer removeAllAnimations];
UIImageViewを使う
開始
const UIImage *im1 = [UIImage imageNamed:@"Australia.png"]; const UIImage *im2 = [UIImage imageNamed:@"Canada.png"]; NSArray *ims = @[im1, im2]; _view.animationImages = ims; _view.animationDuration = 1.5; [_view startAnimating];
停止
[_view stopAnimating];
a