首页 > 移动平台 > 详细

iOS-NavigationBar手势返回的时候跟随

时间:2016-02-27 09:44:56      阅读:126      评论:0      收藏:0      [点我收藏+]

iOS-NavigationBar手势返回的时候跟随

本文版权归作者所有,如需转载请联系孟祥月
CSDN博客:http://blog.csdn.net/mengxiangyue
独立博客:http://mengxiangyue.com

在iOS的开发中有时候会遇到这样的情况,在开发的过程中有两个界面,这两个界面使用UINavigationController串联起来,然后在第一个ViewController中不显示UINavigationBar,在第二个显示UINavigationBar。iOS在手势返回的时候默认情况下iOS的NavigationBar是固定的,然后再去做一些渐变位移等动画,但是如果我们在一个界面有NavigationBar,一个没有这样的动画就会很难看。这时候我们希望第二个界面手势返回的时候,NavigationBar跟着界面一起移动。 实现类似下面的效果:

技术分享

这个效果中有两个ViewController,在第二个Controller手势返回的时候,UINavigationBar是跟随着Controller的。如果只是在第一个界面的时候使用这种效果比较简单,只要在两个Controller中添加如下代码即可:

// 第一个ViewController
override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    // 这里一定要使用这个方法 否则会有问题
    self.navigationController?.setNavigationBarHidden(true, animated: true)
}

// 第二个ViewController
override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.setNavigationBarHidden(false, animated: true)
}

上面的代码只能实现第一个UINavigationController第一个ViewController隐藏,第二个显示的时候实现跟随效果。如果想实现所有的界面都有跟随的效果,那需要自定义ViewController的转场动画,网上有人已经实现了这个效果,感兴趣的可以下载看一下,地址:https://github.com/esonchen/CCSlideNavigationTransition

这篇文章比较短,只是一个简单的Tip而已。

iOS-NavigationBar手势返回的时候跟随

原文:http://blog.csdn.net/mengxiangyue/article/details/50753844

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!