JTNavigationController
因为这个控件只是用于分析网易云音乐的导航控制器实现,很多细节我没有做过处理,集成到项目中可能会遇到一些的问题,不建议用在正式项目中.
一个类似网易云音乐和网易新闻页面切换效果的导航控制器.
通过分析网易云音乐实现的一个导航控制器.分析的过程在这里
效果图
集成方法
将原来的UINavigationController
替换为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
即可开启. -
需要关闭或开启单独一个控制器的全屏返回手势,导入
UIViewController+JTNavigationExtension.h
头文件并设置self.jt_fullScreenPopGestureEnabled;
即可.