您的位置:首页 > 其它

页面跳转动画设置方法

2013-06-28 13:58 411 查看
原文地址:页面跳转动画设置方法作者:hznhappy

页面控制器中使用方法:

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

[CATransaction setCompletionBlock: ^ {

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(transition.duration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^ {

[[UIApplication sharedApplication] endIgnoringInteractionEvents];

});

}];

[self presentModalViewController: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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: