PresentViewController切换界面(一些系统自带的页面切换动画)

视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画,

其中切换方法如下:

– presentViewController:animated:completion: 弹出,出现一个新视图 可以带动画效果,完成后可以做相应的执行函数经常为nil
– dismissViewControllerAnimated:completion:退出一个新视图 可以带动画效果,完成后可以做相应的执行函数经常为nil

切换动画在压入一个新视图和弹出顶层视图均可以使用,下面只以压入视图为例。

presentViewController:animated:completion:使用系统自带四种动画

简单的实现方式:

[myNextViewController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];

[self presentViewController:myNextViewController animated:YES  completion:nil];

系统支持的四种动画:

typedef enum {

UIModalTransitionStyleCoverVertical=0, //默认方式,竖向上推

UIModalTransitionStyleFlipHorizontal, //水平反转

UIModalTransitionStyleCrossDissolve,//隐出隐现

UIModalTransitionStylePartialCurl,//部分翻页效果

} UIModalTransitionStyle;

presentViewController: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 presentViewController:myNextViewController animated:NO completion:nil];

常見的轉換類型(type):

kCATransitionFade               //淡出

kCATransitionMoveIn          //覆盖原图

kCATransitionPush               //推出

kCATransitionReveal          //底部显出来

SubType:

kCATransitionFromRight

kCATransitionFromLeft    // 默认值

kCATransitionFromTop

kCATransitionFromBottom

设置其他动画类型的方法(type):

pageCurl   向上翻一页

pageUnCurl 向下翻一页

rippleEffect 滴水效果

suckEffect 收缩效果,如一块布被抽走

cube 立方体效果

oglFlip 上下翻转效果

时间: 2024-10-10 21:34:20

PresentViewController切换界面(一些系统自带的页面切换动画)的相关文章

windows10系统自带输入法不能切换中文如何解决

具体如下: 1.打开计算机管理软件,右击“开始”按钮,在弹出的菜单中选择“计算机管理”: 2.或在桌面右击“此电脑”图标,在弹出的菜单中选择“管理”: 3.在打开的计算机管理软件中,选择“系统工具”->“任务计划程序”: 4.选择“Microsoft”->“Windows"->“TextServicesFramework”: 6.右击“MsCtfMonitor”,点击“运行”. 原文地址:https://www.cnblogs.com/vonly/p/8530918.html

如何实现系统自带下拉刷动画效果?

刚开始看确实感觉很不习惯,看久了,就觉得还不错!所以就想引用到自己的项目中: 接下来就找到源码看看他是如何运用的,首先找到SwipeRefreshLayout,因为这个类是Android自带的下拉刷新实现类,相应的动画也肯定在里面有用到. 可以找到里面用到了两个类MaterialProgressDrawable 和 CircleImageView,这两个类就是我们所看到的加载动画的实现类! 但是这两个类外界不可调用,为什么不可调用呢?打开源码 /** * * @hide */ class Cir

Android5.0之后的页面切换动画

Android5.0之后给我们开发者剩了好多的事情,为什么这么说呢?还记得刚开始的时候,Android里面的所有的动画都要我们开发者自己来写,现在不需要了,因为5.0之后自带了好多的动画,比如:按钮点击的动画.页面切换的动画(在android5.0之前想都不敢想的). 今天我着重讲一下页面之间的切换,目前5.0系统自带了三种动画方式:Explode(缩放).Fade(淡入淡出).Slide(滑动进入).下面就这三中方式进行介绍一下. 在讲解之前,现对于动画的方式进行介绍一下.通常,我们进行页面跳

Android 手势识别 (左右滑动)实现 页面 切换

</pre>要实现 页面左右滑动的效果  就一定要由手势识别器, 就是这个对象 GestureDetector.<p></p><p>用法其实很简单,这里 写一下 方便以后用到的时候好找.</p><p></p><p>步骤就是 这样子 123..</p><p> 1. 初始化手势识别器  </p><p> 2  注册 手势识别的 touch 事件 .</p>&

Qt--多页面切换组件

一.多页面切换组件 多页面的切换在我们日常的软件使用中是十分广泛的,有着很好的便捷性,下面一张图片展示了多页面的使用的便捷性 可以看到用鼠标点击不同的标题时会出现不同的页面内容A.Qt中的多页面切换组件QTabWidgetQt中为多页面切换的实现提供了一个专门的类QTabWidget,,它可以实现能够在同一个窗口中自由切换不同页面的内容,并且是一个容器类型的组件,提供友好的页面切换方式,在QTabWidget类中提供了很多在工程中实用的函数,比如设置Tab标签的位置void? setTabPos

PresentViewController切换界面

视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画, 其中切换方法如下: – presentViewController:animated:completion: 弹出,出现一个新视图 可以带动画效果,完成后可以做相应的执行函数经常为nil– dismissViewControllerAnimated:completion:退出一个新视图 可以带动画效果,完成后可以做相应的执行函数经常为nil 切换动画

Android菜鸟笔记-WifiPickerActivity 实现跳转到系统自带wifi连接界面

前言: 在使用一些APP时,比如Google Play,在没有连接到网络时,APP会自动跳转到系统自带的wifi连接界面(如下图),在这个界面下连接wifi有一个很好的功能:在没有连上wifi热点时,"下一步"按钮是无法点击,这种体验效果是非常好的,确保了在下一步时,有网络可以使用. 实现步骤: 1. 怎么才能跳转到这个界面?(通过adb logcat查看Google Play跳转时的ACTION,log如下) I/ActivityManager(  444): START u0 {a

使用OC和swift创建系统自带的刷新界面

使用OC和swift创建系统自带的刷新界面 一:swift刷新界面代码: import UIKit class ViewController: UITableViewController { // 用于显示的数据源    var _dataSource:[String] = []        // 加载更多 状态 风火轮    var _aiv:UIActivityIndicatorView!        override func viewDidLoad() {        super.

iOS开发——OC和swift创建系统自带的刷新界面

使用OC和swift创建系统自带的刷新界面 一:swift刷新界面代码: import UIKit class ViewController: UITableViewController { // 用于显示的数据源    var _dataSource:[String] = []        // 加载更多 状态 风火轮    var _aiv:UIActivityIndicatorView!        override func viewDidLoad() {        super.