首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VCTransitionsLibrary –自定义iOS交互式转场动画的库

”互动控制器”,你可以直接使用这些控制器来和自定义动画效果配合使用;而不是自己控制去控制交互....使用 在自定义转场动画时,有两类关键的类: 动画控制器 –  这个类是用来实现自定义动画的.但你声明想要使用自定义动画时,你应该提供一个动画控制器.这个类会实现需要的动画,完成时会通知框架....注意: 动画和交互是完全独立的,这意味着你可以在其他任何自定义控制器上独立使用交互控制器-很酷!...使用动画控制器 AnimationControllers 文件夹中提供了许多可以整合进你的工程中的动画控制器: 自定义模态控制器显示/隐藏的动画 UIViewControllerTransitioningDelegate...交互控制器和动画控制器配合使用,可以实现交互式的动画转场效果,比如可以让用户通过手势来控制页面间的导航.交互控制器允许用户在一个转场动画中前进,后退,甚至退出.

1.6K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS 自定义转场动画

    模态化present和dismiss 自定义转场 1、创建一个遵循UIViewControllerAnimatedTransitioning>协议的动画过渡管理对象,并实现如下两个方法: //返回动画事件...self.transitionInteractive; } 导航控制器push和pop 自定义转场 1、略...同上 2、略......同上 3、在push动画之前设置导航控制器的转场动画代理,转场时最上层的视图控制器需要遵循的协议,并设置为代理,并实现如下代理方法:...action:@selector(handleNavigationTransition:)]; // 设置手势代理,拦截手势触发 pan.delegate = self; // 给导航控制器的...// 判断导航控制器是否只有一个子控制器,如果只有一个子控制器,肯定是根控制器 if (self.childViewControllers.count == 1) { // 表示用户在根控制器界面

    1.3K50

    iOS 自定义转场动画

    模态化present和dismiss 自定义转场 1、创建一个遵循UIViewControllerAnimatedTransitioning>协议的动画过渡管理对象,并实现如下两个方法: //返回动画事件...self.transitionInteractive; } 导航控制器push和pop 自定义转场 1、略...同上 2、略......同上 3、在push动画之前设置导航控制器的转场动画代理,转场时最上层的视图控制器需要遵循的协议,并设置为代理,并实现如下代理方法: /...action:@selector(handleNavigationTransition:)]; // 设置手势代理,拦截手势触发 pan.delegate = self; // 给导航控制器的...// 判断导航控制器是否只有一个子控制器,如果只有一个子控制器,肯定是根控制器 if (self.childViewControllers.count == 1) { // 表示用户在根控制器界面

    1.1K90

    iOS开发UINavigation系列四——导航控制器UINavigationController

    和UIToolBar,UINavigationController是将这些控件和UIViewController紧密的结合了起来,使用导航,我们的应用程序层次会更加分明,对controller的管理也更加方便.../通过一个自定义的导航栏和工具栏创建导航控制器 - (instancetype)initWithNavigationBarClass:(nullable Class)navigationBarClass... toolbarClass:(nullable Class)toolbarClass; //使用系统默认的导航栏和工具栏,通过一个根视图创建导航控制器 - (instancetype)initWithRootViewController...五、UINavigationDelegate         导航控制器还提供了一些代理回调方法,如下: //视图将要展示时调用的方法 - (void)navigationController:(UINavigationController...; //push的时候隐藏底部栏,如push后隐藏tabbar @property(nonatomic) BOOL hidesBottomBarWhenPushed; //管理它的导航控制器 @property

    1.8K20

    UINavigationController 导航控制器概念属性方法

    的时候隐藏底部栏,如push后隐藏tabbar @property(nonatomic) BOOL hidesBottomBarWhenPushed; (3)获取管理它的导航控制器 @property(...(1)通过一个自定义的导航栏和工具栏创建导航控制器 - (instancetype)initWithNavigationBarClass:(nullable Class)navigationBarClass...toolbarClass:(nullable Class)toolbarClass; (2)使用系统默认的导航栏和工具栏,创建一个导航控制器同时设置一个根视图控制器 - (instancetype)initWithRootViewController...UIViewController *)viewController animated:(BOOL)animated; 这个方法是为了iOS方法的命名统一,在导航中,其作用和push一样 - (void)...- (nullable id UIViewControllerInteractiveTransitioning>)navigationController:(UINavigationController

    2.2K60

    iOS-自定义交互式转场动画

    自定义转场动画主要有以下步骤 自定义导航栏 自定义交互动画 通过UIPercentDrivenInteractiveTransition协议实现交互 自定义导航栏 自定义导航栏需要遵守协议,该协议主要有两个协议方法: // 该方法返回导航跳转时的动画,如果返回nil,则是系统默认的跳转动画,并且通过operation来判断当前执行push还是pop -(idUIViewControllerAnimatedTransitioning...,只有实现该协议,才能在跳转时实现与用户交互 -(idUIViewControllerInteractiveTransitioning>)navigationController:(UINavigationController...>)animationController { return nil; } 自定义跳转动画 自定义跳转动画需要遵守UIViewControllerAnimatedTransitioning>协议...,它遵守UIViewControllerInteractiveTransitioning>协议,我们可以告诉它当前转场动画进行的百分比,它再来更新动画的进度。

    81941

    iOS 转场动画探究(一)

    我自己的建议和理解,转场动画能帮你加深理解、总结你对动画的学习,但不要轻易在你的项目中大量的去尝试,还是觉得动画用的好就有点睛之笔的感觉,但若是大量的使用,很容易给人造成审美和视觉疲劳。...*** 官方支持以下几种方式的自定义转场:          1、我们最常见的在 UINavigationController 中 push 和 pop;          2、也是比较常见的在 UITabBarController...UIPresentationController // UIPresentationController提供了四个函数来定义present和dismiss动画开始前后的操作,这个我们在下面再具体的详细说...4、 交互控制器协议 UIViewControllerInteractiveTransitioning       说这个UIViewControllerInteractiveTransitioning...接口的类,为我们预先实现和提供了一系列便利的方法,可以用一个百分比来控制交互式切换的过程。

    2.7K50

    iOS-可交互滑动的TabBarController

    而在iOS7.0以后,苹果在UITabBarControllerDelegate中增加了下面两个代理方法: /** * 实现该代理,即可以实现自定义的各界面切换时的动画(如平推,缩放,淡入淡出等)...* fromVC:当前显示的VC * toVC:将要切换到的VC * 返回一个自定义的切换动画,在本例中,我自定义了一个平推效果的动画 */ - (nullable id UIViewControllerAnimatedTransitioning...* 返回一个自定义的动画百分比控制器,以控制当前动画进行的百分比。...)、MainTabBarViewController(点击item是没有动画),可以在AppDelegate中选则使用哪一个。...,自定义动画需要遵守UIViewControllerAnimatedTransitioning>协议,需要实现下面方法 // 返回动画执行时间 - (NSTimeInterval)transitionDuration

    1.8K41

    【iOS】今日头条的转场动画设置+手势控制

    前言 最近公司有个需求,做一个今日头条的用户动态的进入和退出的动画效果,并且退场时,可以自己点击退出,也可以手势下滑退出。头条的效果如下: ?...的class,在里面书写我们要实现的动画效果 2、触发pop的手势处理 同样的需要实现UINavigationDelegate的 - (id UIViewControllerInteractiveTransitioning...cancelInteractiveTransition; /// 完成转场 - (void)finishInteractiveTransition; 而如果我们需要实现下滑退出的话,就需要配合UIPanGestureRecognizer进行使用了...break; } } 要注意的是,在pan手势触发的时候,需要先调用[self.navigationController popViewControllerAnimated:YES];,告诉导航控制器...5、总结 这个Demo只是在演示如何用一个Transition,处理点击退出和手势退出时,执行不一样的转场效果。

    1.8K31

    【IOS开发基础系列】UIViewController专题

    B.交互控制器 (Interaction Controllers) 通过遵从 UIViewControllerInteractiveTransitioning 协议来控制可交互式的转场。     ...C.转场代理 (Transitioning Delegates) 根据不同的转场类型方便的提供需要的动画控制器和交互控制器。     ...具体来说,iOS7的自定义切换目的之一就是切换相关代码解耦,在进行VC切换时,做切换效果实现的时候必须要需要切换前后VC的一些信息,系统在新加入的API的比较的地方都会提供一个实现了该接口的对象,以供我们使用...其实从根本来说它们所承担的是两类完全不同的任务:自定义VC容器可以提供自己定义的VC结构,并保证系统的各类方法和通知能够准确传递到合适的VC,它提供的transition方法虽然可以实现一些简单的UIView...动画,但是难以重用,可以说是和containerVC完全耦合在一起的;而自定义切换并不改变VC的组织结构,只是负责提供view的效果,因为VC切换将动画部分、动画驱动部分都使用接口的方式给出,因此重用性非常优秀

    72430

    自定义转场详解(一)

    今天我们来实现一个简单的自定义转场,我们先来看看这篇文章将要实现的一个效果图吧: 过程详解 热身准备 我们先创建一个工程,首先用storyboard快速的创建两个控制器,一个作为主控制器,叫ViewController...UIViewControllerAnimatedTransitioning 首先我们需要一个实现了协议名为UIViewControllerAnimatedTransitioning的对象。...这里的动画时间长度和切换时间长度一致。...FromViewController UIViewControllerTransitioningDelegate 这个接口的作用比较单一,在需要VC切换的时候系统会向实现了这个接口的对象询问是否需要使用自定义转场效果...手势驱动百分比切换 现在我们增加一个功能,就是用手势滑动来dismiss,通俗的说,就是让present出来的那个控制器使用手势dismiss。

    95520

    iOS 转场动画探究(二)

    比如像我们第三个小例子里面后面半透明背景动画,就是通过这个UIViewControllerTransitionCoordinator我们来做的,主要在 Modal 转场和交互转场取消时使用,其他时候很少用到...这种情况下,可以使用转场协调器来执行这些动画。        2、转场协调器和动画控制器对象一块工作,确保任何额外动画被执行在同样的动画组中,就像转场动画一样。...翻译说明:一个采用UIViewControllerTransitionCoordinator协议的对象可以给控制器转场动画提供相关支持。一般情况下,你不需要采用这个协议在自己定义的类中。...EXAMPLE-SIX       导航控制器的转场       最后的这个翻页效果的Demo,其实你看着它像3D的感觉,你想起了 CATransform3D 感觉就够了,通过下面这个方法来开始我们的导航转场...: -(void)presentNextControllerClicked{ // 既然这里是导航控制器的转场,就要给导航设置代理。

    86540

    自定义转场详解(一)

    今天我们来实现一个简单的自定义转场,我们先来看看这篇文章将要实现的一个效果图吧: 过程详解 热身准备 我们先创建一个工程,首先用storyboard快速的创建两个控制器,一个作为主控制器,叫ViewController...这里的动画时间长度和切换时间长度一致。...FromViewController UIViewControllerTransitioningDelegate 这个接口的作用比较单一,在需要VC切换的时候系统会向实现了这个接口的对象询问是否需要使用自定义转场效果...手势驱动百分比切换 现在我们增加一个功能,就是用手势滑动来dismiss,通俗的说,就是让present出来的那个控制器使用手势dismiss。...3.和创建PresentAnimation一样,我们创建一个一个DismissAnimation类 4.最后,我们在主控制器中添加一个手势驱动的对象,一个dismiss转场的对象,然后懒加载。

    89660

    iOS 转场动画探究(二)

    比如像我们第三个小例子里面后面半透明背景动画,就是通过这个UIViewControllerTransitionCoordinator我们来做的,主要在 Modal 转场和交互转场取消时使用,其他时候很少用到...这种情况下,可以使用转场协调器来执行这些动画。        2、转场协调器和动画控制器对象一块工作,确保任何额外动画被执行在同样的动画组中,就像转场动画一样。...翻译说明:一个采用UIViewControllerTransitionCoordinator协议的对象可以给控制器转场动画提供相关支持。一般情况下,你不需要采用这个协议在自己定义的类中。...EXAMPLE-SIX       导航控制器的转场       最后的这个翻页效果的Demo,其实你看着它像3D的感觉,你想起了 CATransform3D 感觉就够了,通过下面这个方法来开始我们的导航转场...: -(void)presentNextControllerClicked{ // 既然这里是导航控制器的转场,就要给导航设置代理。

    1.4K70

    机器人编程趣味实践19-武林秘籍(文档)

    注意:可以在每个服务器中为控制器、规划器和恢复使用多个插件,并使用匹配的 BT 插件。 这可用于创建上下文导航行为。...Manager) 启用自定义算法和行为的插件(Nav2 Core) Nav2还提供了一组启动插件来帮助前进。...NavFn 使用 A* 或 Dijkstra 算法计算从初始位置到目标姿势的最短路径。 DWB 将使用 DWA 算法计算跟踪路径的控制工作,并为轨迹比较器提供几个自定义插件。...这里是关于如何安装和使用 Nav2 与示例机器人 Turtlebot 3 (TB3) 的文档,以及如何为其他机器人自定义它、调整行为以获得更好的性能以及自定义内部结构以获得高级结果。...,即使在过度致动的手臂中 控制:通过通用接口对低级硬件控制器执行时间参数化联合轨迹 三维感知:使用 Octomaps 连接深度传感器和点云 碰撞检测:使用几何图元、网格或点云数据避开障碍物 大厂酷爱,

    58230

    iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

    可以填充颜色(使用tintColor来定义导航栏中的图标与文字颜色;使用 barTintColor来填充导航栏背景色) API注释 导航栏包含于导航控制器(一个管理显示自定义视图层级结构的程序对象)中。...确保你自定义的导航栏在你的应用的每个视图中都拥有一致的外观与体验。举个例子,不要在同一个应用中使用不透明导航栏和半透明工具栏。...使用活动来让用户执行你的应用所提供的服务。请注意,iOS本身提供了若干内置的服务,如打印,转发到Twitter,发送信息和Airplay等等,你不需要再额外为这些内置任务创建活动。...集合视图: 可包含装饰视图,以从视觉上区分项的子集或者提供装饰性项目,例如自定义背景。 布局切换时支持自定义转场动画。(默认情况下,当用户导入、移动或者删除项的时候,会出现系统默认的动画效果。)...合适的话,给用户提供不止一种获取主窗格的方式。默认情况下,竖屏方向时只会展示右侧窗格,因此你需要向用户提供一个按钮(通常位于导航栏上)来让用户唤起和隐藏主窗格。

    10.1K51
    领券