页面控制器中使用方法:
BroadCastViewController *broad=[[BroadCastViewControlleralloc]initWithNibName:@"BroadCastViewController"bundle:nil];
[CATransaction begin];
CATransition *transition = [CATransitionanimation];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromBottom;
transition.duration=0.5f;
transition.fillMode=kCAFillModeForwards;
transition.removedOnCompletion=YES;
[[UIApplicationsharedApplication] .keyWindow.layeraddAnimation:transition forKey:@"transition"];
[[UIApplicationsharedApplication] beginIgnoringInteractionEvents];
[CATransactionsetCompletionBlock: ^ {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(transition.duration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^ {
[[UIApplicationsharedApplication] endIgnoringInteractionEvents];
});
}];
[selfpresentModalViewController:broad animated:NO];
[CATransaction commit];
[CATransaction begin];
CATransition *transition = [CATransition animation];
transition.type = @"rippleEffect";
transition.duration = 0.5f;
transition.fillMode = kCAFillModeForwards;
transition.removedOnCompletion = YES;
[[UIApplication sharedApplication].keyWindow.layer addAnimation:transition forKey:@"transition"];
[[UIApplication sharedApplication] beginIgnoringInteraction
Events];
[CATransaction setCompletionBlock: ^ {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(transition.duration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^ {
[[UIApplication sharedApplication] endIgnoringInteractionEv
ents];
});
}];
[self presentModalViewControll
er:mainController animated:NO];
[CATransaction commit];
页面使用方法:
CATransition *animation = [CATransition animation];
animation.delegate = self;
animation.duration = 1.5;
animation.timingFunction = UIViewAnimationCurveEaseInOut;
animation.subtype = kCATransitionFromRight;
[self.scrollView.layer addAnimation:animation forKey:@"animation"];
一些动画类型:
animation.type = kCATransitionFade;
animation.type = kCATransitionPush;
animation.type = kCATransitionReveal;
animation.type = kCATransitionMoveIn;
animation.type = @"cube";
animation.type = @"suckEffect";
animation.type = @"oglFlip";
animation.type = @"rippleEffect";
animation.type = @"pageCurl";
animation.type = @"pageUnCurl";
animation.type = @"cameraIrisHollowOpen";
animation.type = @"cameraIrisHollowClose";
animation.subtype = kCATransitionFromLeft;
animation.subtype = kCATransitionFromBottom;
animation.subtype = kCATransitionFromRight;
animation.subtype = kCATransitionFromTop;