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];
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;