本文主要是介绍PresentViewController界面切换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画,
其中切换方法如下:
– presentViewController:animated:completion: 弹出,出现一个新视图 可以带动画效果,完成后可以做相应的执行函数经常为nil
– dismissViewControllerAnimated:completion:退出一个新视图 可以带动画效果,完成后可以做相应的执行函数经常为nil
切换动画在压入一个新视图和弹出顶层视图均可以使用,下面只以压入视图为例。
presentModalViewController:animated:completion:使用系统自带四种动画
简单的实现方式:
[page2Controller setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];[self presentModalViewController:myNextViewController animated:YES completion:nil];
系统支持的四种动画:
typedef enum {UIModalTransitionStyleCoverVertical=0, //默认方式,竖向上推UIModalTransitionStyleFlipHorizontal, //水平反转UIModalTransitionStyleCrossDissolve,//隐出隐现UIModalTransitionStylePartialCurl,//部分翻页效果} UIModalTransitionStyle;
presentModalViewController:animated:completion: 不用自带的四种动画效果
实现全翻页效果:
CATransition *animation = [CATransition animation];animation.duration = 1.0;animation.timingFunction = UIViewAnimationCurveEaseInOut;animation.type = @"pageCurl";//animation.type = kCATransitionPush;animation.subtype = kCATransitionFromLeft;[self.view.window.layer addAnimation:animation forKey:nil];[self presentModalViewController:myNextViewController animated:NO completion:nil];
常見的轉換類型(type):
kCATransitionFade //淡出kCATransitionMoveIn //覆盖原图kCATransitionPush //推出kCATransitionReveal //底部显出来
SubType:
kCATransitionFromRightkCATransitionFromLeft // 默认值 kCATransitionFromTopkCATransitionFromBottom
设置其他动画类型的方法(type):
pageCurl 向上翻一页pageUnCurl 向下翻一页rippleEffect 滴水效果suckEffect 收缩效果,如一块布被抽走cube 立方体效果oglFlip 上下翻转效果
这篇关于PresentViewController界面切换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!