/JTNavigationController

一个拥有更平滑的navigationBar切换动画的NavigationController

Primary LanguageObjective-CMIT LicenseMIT

JTNavigationController

一个类似网易云音乐和网易新闻页面切换效果的导航控制器.

通过分析网易云音乐实现的一个导航控制器.详情见我的博文

####效果图

####集成方法

  1. 替换原windowrootViewController[[JTBaseNavigationController alloc] initWithRootViewController:原rootViewController].

  2. 将需要实现该动画效果的UINavigationController替换为为JTNavigationController

如果你使用的是storyboard:

  1. 在根控制器外加一个UINavigationController,将Class改为JTBaseNavigationController,并将原来的根控制器设为rootViewController,记得设置Initial.

  2. 将需要实现该动画效果的UINavigationController的Class替换为JTNavigationController.

####相关操作

  1. push,pop,popToRoot的操作可以无需作调整,使用self.navigationController的方法就行,popToViewController稍微有些不同,详情见Demo中的代码.

  2. 修改状态栏颜色,用preferredStatusBarStyle或者[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent](需要在info文件中加入View controller-based status bar appearance = NO).

  3. 返回按钮图标设置请修改backButtonImage属性.

  4. 修改barTintColor,增加barButtonItem等导航栏的操作都能放到viewDidLoad中,因为每个控制器都有属于自己的UINavigationController,所以不会影响到其他控制器的导航栏.

  5. 新加入了全屏返回手势,fullScreenPopGestureEnable = YES即可开启.

####已知问题

  1. UITabBarController的tabBar在push时会被隐藏,如果有需求是需要不隐藏tabBar的可以再等等看。
  2. 其他隐藏的问题应该还有很多,希望有问题的能提出来。