GitHub - ShelockWindy/JZNavigationExtension: JZNavigationExtension integrates some convenient features for UINavigationController and easy to use.

Version Platform License

JZNavigationExtension integrates some convenient features for UINavigationController.


JZNavigationExtension为UINavigationController集成了许多方便的功能。

Features

Overview

overview

Why JZNavigationExtension?

  • Pop Gesture Works Perfect With UITableView【全屏Pop手势完美匹配UITableView无冲突】
  • Enable or disable property for each view controller conveniently.【简单地针对每一个Controller开关属性】
  • Pushes/Pops a view controller when hides/shows navigation bar display soomthly【当控制器做Push/Pop时无缝、平滑地显隐导航栏】
  • Release some restrictions make your navigation controller stronger【解除一些限制,使你的导航控制器更加强大】
  • Follow Apple's API design principles,uses as natural as system api【遵循Apple Inc的API设计原则,使用就像系统API一样自然】

Usage

To gives you a fullscreen interactivePopGestureRecognizer【打开全屏Pop手势】:

navigationController.jz_fullScreenInteractivePopGestureEnabled = YES;

Set a completion for fullscreen interactivePopGestureRecognizer【全屏Pop手势回调】:

[self.navigationController jz_setInteractivePopGestureRecognizerCompletion:^(BOOL finished) {
        if (finished) {
            // Codes
        }
    }];

To hides navigation bar when the view controller is pushed on to a navigation controller【支持转场隐藏、显示导航栏】:

UIViewController *viewController = [UIViewController new];
viewController.jz_wantsNavigationBarVisible = NO;
[self.navigationController pushToViewController:viewController animated:YES];

To Push/Pop view controller With blocks【导航控制器转场回调】:

[self.navigationController jz_pushViewController:viewController animated:YES completion:^(BOOL finished) {
		///Do any thing
}];

To adjust navigation/tool bar background alpha【调节导航控制器的导航栏、工具条透明度】:

navigationController.jz_navigationBarBackgroundAlpha = yourAlpha;

To change navigation/tool bar size【改变导航控制器的导航栏、工具条大小】:

[navigationController setJz_navigationBarSize:size];

To hide navigation bar background alpha during pop gesture is interactiving【导航栏手势交互时改变导航栏透明度】

UIViewController *viewController = [UIViewController new];
viewController.jz_navigationBarBackgroundHidden = YES;

overview


Change navigation bar tint color by different view controller【导航栏手势交互时改变导航栏颜色】

UIViewController *viewController = [UIViewController new];
viewController.jz_navigationBarTintColor = [UIColor redColor];

overview


Many other features please look up public header files...

NS_AVAILABLE_IOS(7_0)

WIKI

因为许多国内朋友问我的几个API的问题,所以写了一篇文档简单解释了一下,请参考这里 https://github.com/JazysYu/JZNavigationExtension/wiki

Installation

Use cocoapods

pod 'JZNavigationExtension'

Manually

Drag all source files under floder JZNavigationExtension to your project.