一个类似网易云音乐和网易新闻页面切换效果的导航控制器.
通过分析网易云音乐实现的一个导航控制器.详情见我的博文
####效果图
####集成方法
-
替换原
window
的rootViewController
为[[JTBaseNavigationController alloc] initWithRootViewController:原rootViewController]
. -
将需要实现该动画效果的
UINavigationController
替换为为JTNavigationController
如果你使用的是storyboard:
-
在根控制器外加一个
UINavigationController
,将Class改为JTBaseNavigationController
,并将原来的根控制器设为rootViewController
,记得设置Initial. -
将需要实现该动画效果的
UINavigationController
的Class替换为JTNavigationController
.
####相关操作
-
push,pop,popToRoot的操作可以无需作调整,使用
self.navigationController
的方法就行,popToViewController
稍微有些不同,详情见Demo中的代码. -
修改状态栏颜色,用
preferredStatusBarStyle
或者[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]
(需要在info文件中加入View controller-based status bar appearance = NO). -
返回按钮图标设置请修改
backButtonImage
属性. -
修改
barTintColor
,增加barButtonItem
等导航栏的操作都能放到viewDidLoad中,因为每个控制器都有属于自己的UINavigationController
,所以不会影响到其他控制器的导航栏. -
新加入了全屏返回手势,
fullScreenPopGestureEnable = YES
即可开启.
####已知问题
- UITabBarController的tabBar在push时会被隐藏,如果有需求是需要不隐藏tabBar的可以再等等看。
- 其他隐藏的问题应该还有很多,希望有问题的能提出来。