iOS UINavigationController推/流交叉水平封面动画

时间:2016-03-15 04:05:19

标签: ios animation uinavigationcontroller uinavigationbar

推动的控制器越过电流控制器。

结果如下: enter image description here image 0

实际上,我已经挂钩了这个app,它使用了一个名为MMUINavigationController的子类, 我确信目前的行动是" pushViewController:animated:",它是我所挂钩的界面。

Tweak.xm: enter image description here image 1

alertView: enter image description here image 2

如何制作?

额外的标准动画:

enter image description here

图片3

推送控制器的导航栏

5

image 4

1 个答案:

答案 0 :(得分:1)

这是一个解决方案:

  1. 隐藏导航控制器的导航栏
  2. 将导航栏添加到导航控制器的根视图控制器
  3. 将滑动恢复到手势控制器
  4. 最后一点你可以添加一个平移手势识别器(建议)或者只是将interactivePopGestureRecognizer的导航控制器委托设置为nil:

    self.navigationController?.interactivePopGestureRecognizer?.delegate = nil;
    

    但请参阅此讨论,了解其含义:No Swipe Back when hiding Navigation Bar in UINavigationController

    修改

    符合要求的工作解决方案:只需在navigationBarHidden中设置viewWillAppear即可。

    我在这里设置了一个示例演示:https://github.com/ldantona/NavigationBarExample

    编辑2:

    刚刚找到这个图书馆,它可以提供任何帮助吗? https://github.com/MoZhouqi/KMNavigationBarTransition

      

    库可以捕获导航栏的背景样式   推动时消失的视图控制器,以及弹回时   到视图控制器,导航栏将恢复前一个   风格,所以你不需要考虑后面的风格   大跌眼镜。你也不需要在推后考虑它,因为   它是需要考虑的视图控制器。

    希望有所帮助