像超级课程表这样,图我是拖到中间截得。我试过设置左边按钮在返回的时候将bar改回去,是可以做到的,但是如果像这样用手势拉的话就不行了,请教怎么做?

解决方案 »

  1.   

    先看我的这篇:http://blog.csdn.net/zhangao0086/article/details/38459937
    然后我给你说下思路:写一个NavigationController的子类,并且重写push、pop等方法,在push vc的时候,为每个fromVC创建一张截图,用view的snap那个api,动画的时候用image来动画。
      

  2.   

    正常,这个功能我们也做了三天,刚开始只用两张图,后来改成一个栈,无论无何,你一定不要在每个VC上加一个Bar
      

  3.   

    正常,这个功能我们也做了三天,刚开始只用两张图,后来改成一个栈,无论无何,你一定不要在每个VC上加一个Barbar不是NavigationController自动添加的吗?
      

  4.   

    正常,这个功能我们也做了三天,刚开始只用两张图,后来改成一个栈,无论无何,你一定不要在每个VC上加一个Barbar不是NavigationController自动添加的吗?
    NavigationController只有一个 Bar,有的人为了达到这个效果,把 NavigationController 的 原本自带的Bar 隐藏,而自己在每个 VC 上添加一个,这么做没问题,但是如果不提供和系统的 VC 的一样的接口的话我会觉得很可耻的,比如一般通过 self.title 来修改 Bar 上的 title,通过 self.navigationItem.left\right BarButtonItem 来添加两个按钮,但是有的人会自己单独提供一套 APIs,像我这种专注 AOP 编程的人是绝对接受不了的。
      

  5.   

    版主 我用了你的方法用两张截图实现啦,但是现在有点小问题,我在push的时候截了fromVc的图,但是它会把按下按钮时候的变灰也截上。这该怎么处理?
      

  6.   

    版主 我用了你的方法用两张截图实现啦,但是现在有点小问题,我在push的时候截了fromVc的图,但是它会把按下按钮时候的变灰也截上。这该怎么处理?
    你可以尝试下 snap 的第二个参数,是一个 BOOL 值,叫什么我忘记了。
    不过我们没有处理这个,因为产品貌似觉得也还可以
    分享下,我们的动画时间用的0.3秒,并且给 fromVC 的截图加上了阴影,toVC 上加了一个蒙板,蒙板会随着手势变化 alpha,另外toVC 在动画开始启动的时候已经在 fromVC 的3分之一的位置上了
      

  7.   

    楼主,请问你的这个功能实现了么,有没有参考的demo供学习啊
      

  8.   

    可以参考我博客的这个方法
    http://noark9.github.io/2014/09/03/custom-navigation-animation/
      

  9.   

    我也想知道这个导航栏怎么处理,pop是没问题但是push时因为是导航控制器管理导航栏,push时的toVC还没渲染不能截图,所以push时感觉不像系统原来那种的push时导航栏文字移动渐变的效果
      

  10.   

    尽量不要用系统的navBar 了,把系统的navBar 隐藏,自定义一个View 覆盖上去,做成一个基本的类,每个界面都按自己的需求修改View