iOS组件化组件间跳转通讯入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS组件化组件间跳转通讯入门相关的知识,希望对你有一定的参考价值。

参考技术A 案例:A页面通过这三种方式跳转B页面

那么我们需要创建是三个类: Mediator AviewController BviewController

scheme是苹果系统提供的一种供APP之间跳转的机制,用来做组件间跳转也是可行的,这种做法是要全局维护一套scheme和block的映射表,在需要被调用的类(BviewController)中 +(void)load 方法中注册并实现对应的block,在需要跳转的地方(AviewController)中通过URL来进行跳转并传值
实现:

这种方式运用了苹果的运行时
实现:

此方法与scheme类似,需要维护一个全局映射表(key:Protoc0l,value:Class)
实现:

本篇只是作为入门,了解三种方式是怎么实现解耦通讯的,通过案例,其实三种利弊也可以看出来,当然还有比较深层次分析的, 看这里->组件化方案

IOS 在控制器间跳转实现过渡动画

  已经掌握了CALayer下的CATransition动画在同一个控制器下实现,但是在不同控制器间跳转又该如何实现呢?

  

   MyViewController *myVC = [[MyViewController alloc]init];
    //创建动画
    CATransition *animation = [CATransition animation];
    //设置运动轨迹的速度
    animation.timingFunction = UIViewAnimationCurveEaseInOut;
    //设置动画类型为立方体动画
    animation.type = @"cube";
    //设置动画时长
    animation.duration =0.5f;
    //设置运动的方向
    animation.subtype =kCATransitionFromRight;
    //控制器间跳转动画
    [[UIApplication sharedApplication].keyWindow.layer addAnimation:animation forKey:nil];
   [self presentViewController:myVC animated:NO completion:nil];

  下面附上一些常用的动画类型:

  Fade = 1,                   //淡入淡出
    Push,                       //推挤
    Reveal,                     //揭开
    MoveIn,                     //覆盖
    Cube,                       //立方体
    SuckEffect,                 //吮吸
    OglFlip,                    //翻转
    RippleEffect,               //波纹
    PageCurl,                   //翻页
    PageUnCurl,                 //反翻页
    CameraIrisHollowOpen,       //开镜头
    CameraIrisHollowClose,      //关镜头
    CurlDown,                   //下翻页
    CurlUp,                     //上翻页
    FlipFromLeft,               //左翻转
 
      附上简书大神的文章:http://www.jianshu.com/p/09b7e5ff371c
    FlipFromRight,              //右翻转

以上是关于iOS组件化组件间跳转通讯入门的主要内容,如果未能解决你的问题,请参考以下文章

ios应用间跳转

iOS页面间跳转的性能优化

iOS应用间跳转详解

iOS--应用间跳转

IOS 在控制器间跳转实现过渡动画

ios 界面间跳转方法总结