/JZNavigationExtension

JZNavigationExtension integrates some convenient features for UINavigationController and easy to use.

Primary LanguageObjective-CMIT LicenseMIT

JZNavigationExtension

Version Platform License

JZNavigationExtension integrates many convenient features for UINavigationController.


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

Version 2

New cleaner File Struct and safer Implementation.

Features

Overview

overview

overview

Why JZNavigationExtension?

  • Full Screen Pop Gesture Works Perfect With UITableView【全屏Pop手势完美匹配UITableView无冲突】
  • Two navigation bar transition style extension. 【两种导航栏动画拓展】
  • 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
        }
    }];

Change navigation bar transition style 【改变导航栏动画】:

navigationController.jz_navigationBarTransitionStyle = JZNavigationBarTransitionStyleDoppelganger

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

UIViewController *viewController = [UIViewController new];
viewController.jz_navigationBarHidden = YES;
[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的问题,所以写了一篇文档简单解释了一下,请参考这里

Installation

Use cocoapods

pod 'JZNavigationExtension'

Manually

Drag all source files under floder JZNavigationExtension to your project.

Apps using this library

If you've used this project in a live app, please let me know! Nothing makes me happier than seeing someone else take my work and go wild with it. If you are using JZNavigationExtension in your app or know of an app that uses it, please add it to this list.