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