Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
QuintGao committed May 8, 2021
1 parent 917a81f commit 41003d2
Showing 1 changed file with 111 additions and 46 deletions.
157 changes: 111 additions & 46 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,70 +24,106 @@ Swift版本请看这里 → [GKNavigationBarSwift](https://github.com/QuintGao/G
* 可实现左滑push一个控制器的效果(如:网易新闻)

## 使用说明
### 1、在AppDelegate中添加导航配置

### 使用方式
#### 1、手动导入
直接拖入GKNavigationBar文件夹到项目,#import "GKNavigationBar.h",开始使用
```
[GKConfigure setupDefaultConfigure]
```

#### 2、pod方式
Podfile中添加 pod 'GKNavigationBar',执行pod install 或pod update 安装,
#import <GKNavigationBar/GKNavigationBar.h>,开始使用
### 2、创建根导航控制器
若要开启手势处理,需使用+ (instancetype)rootVC:(UIViewController *)rootVC方法创建导航控制器

##### 模块说明:
* 如果你只需要导航栏模块,可使用pod 'GKNavigationBar/NavigationBar'
* 如果你只需要手势处理模块,可使用pod 'GKNavigationBar/GestureHandle'
```
UINavigationController *nav = [UINavigationController rootVC:[GKMainViewController new]];
```

#### 3、Carthage方式
Cartfile中添加 github "QuintGao/GKNavigationBar",执行carthage update --platform iOS,
#import <GKNavigationBar/GKNavigationBar.h>,开始使用
### 3、设置导航栏属性(调用即创建)
```
self.gk_navBackgroundColor = [UIColor red]
```

#### 4、SPM方式
在Xcode中点击File->Swift Packages->Add Package Dependency,然后输入https://github.com/QuintGao/GKNavigationBar
下载相应版本的代码,开始使用

### 使用方法
#### 1、在AppDelegate中添加导航配置
## 安装
<details>
<summary><font size=3>手动导入</font></summary>

```
[GKConfigure setupDefaultConfigure]
直接拖入GKNavigationBar文件夹到项目,#import "GKNavigationBar.h",开始使用
```
</details>

#### 2、创建根导航控制器
若要开启手势处理,需使用+ (instancetype)rootVC:(UIViewController *)rootVC方法创建导航控制器
<details>
<summary><font size=3>CocoaPods</font></summary>

```
UINavigationController *nav = [UINavigationController rootVC:[GKMainViewController new]];
# 将以下内容添加到您的Podfile中:
pod 'GKNavigationBar'
// 只使用手势处理
pod 'GKNavigationBar/GestureHandle'
```
</details>

<details>
<summary><font size=3>Carthage</font></summary>

#### 3、设置导航栏属性(调用即创建)
```
self.gk_navBackgroundColor = [UIColor red]
Cartfile文件中添加以下内容
github "QuintGao/GKNavigationBar"
执行carthage update --platform iOS
```
</details>

<details>
<summary><font size=3>SPM</font></summary>

```
在Xcode中点击File->Swift Packages->Add Package Dependency,然后输入https://github.com/QuintGao/GKNavigationBar
```
</details>

## 常见问题
感谢使用该库,如果在使用过程中遇到问题可查看issue或提交issue,或者进QQ群1047100313

#### 1、手势不生效?
<details>
<summary><font size=3>1、手势不生效?</font></summary>

```
1、查看是否使用了+ (instancetype)rootVC:(UIViewController *)rootVC 方法初始化导航控制器
2、查看是否在控制器中禁用了手势返回self.gk_interactivePopDisabled = YES,self.gk_fullScreenPopDisabled = YES
```
</details>

<details>
<summary><font size=3>2、导航栏不显示?</font></summary>

#### 2、导航栏不显示?
```
查看是否调用了跟导航栏相关的方法,如self.gk_navTitle = @"GKNavigationBar"
注意:只有调用跟导航栏相关的方法才会初始化导航栏!
```
</details>

<details>
<summary><font size=3>3、切换控制器的时候出现状态栏显示异常(一半黑一半白等)</font></summary>

#### 3、切换控制器的时候出现状态栏显示异常(一半黑一半白等)
解决办法:在控制器初始化方法里面设置状态栏样式
```
解决办法:在控制器初始化方法里面设置状态栏样式
- (instancetype)init {
if (self = [super init]) {
self.gk_statusBarStyle = UIStatusBarStyleLightContent;
}
return self;
}
```
#### 4、状态栏相关方法无效?
解决办法:在基类控制器里实现下面两个方法
</details>

<details>
<summary><font size=3>4、状态栏相关方法无效?</font></summary>

```
解决办法:在基类控制器里实现下面两个方法
- (BOOL)prefersStatusBarHidden {
return self.gk_statusBarHidden;
}
Expand All @@ -96,9 +132,11 @@ self.gk_navBackgroundColor = [UIColor red]
return self.gk_statusBarStyle;
}
```
</details>

<details>
<summary><font size=3>5、返回手势如何拦截?</font></summary>

### 部分功能说明
#### 1、返回拦截包括点击返回和手势返回
```
// 重写下面的方法,拦截返回手势
#pragma mark - GKGesturePopHandlerProtocol
Expand All @@ -107,26 +145,27 @@ self.gk_navBackgroundColor = [UIColor red]
return NO;
}
```
也可以单独处理点击返回和手势返回
```
// 重写下面的方法,拦截点击返回
- (BOOL)navigationShouldPopOnClick {
// do something
return NO;
}
```
```
// 重写下面的方法,拦截手势返回
- (BOOL)navigationShouldPopOnGesture {
// do something
return NO;
}
```
</details>

<details>
<summary><font size=3>6、如何与系统导航平滑过渡?</font></summary>

#### 2、与系统导航平滑过渡
```
1、开启系统导航过渡处理 nav.gk_openSystemNavHandle = YES;
2、在控制器中设置gk_popDelegate并实现下面的方法
Expand All @@ -147,31 +186,41 @@ self.gk_navBackgroundColor = [UIColor red]
vc.navigationController.navigationBar.alpha = 1;
vc.navigationController.navigationBarHidden = finished;
}
```
</details>

<details>
<summary><font size=3>7、如何屏蔽某些控制器?</font></summary>

#### 3、屏蔽某些类的导航栏间距调整处理及手势处理
```
// 屏蔽导航栏间距处理
configure.shiledItemSpaceVCs = @[NSClassFromString(@"TZPhotoPickerController"), @"TZAlbumPickerController", @"TZ"];
```
```
// 屏蔽手势处理
configure.shiledGuestureVCs = @[NSClassFromString(@"TZPhotoPickerController"), @"TZAlbumPickerController", @"TZ"];
```

更多属性及方法可在demo中查看
</details>

## 版本记录

* 1.5.3 - 2021.05.07 修复直接设置背景色无效的问题#71#74,增加对非全屏的支持
* 1.5.2 - 2021.04.06 增加协议方法,解决返回手势与WKWebView中的手势冲突问题
* 1.5.1 - 2021.03.09 返回手势优化,新增backStyle对应的image,可全局配置
* 1.5.0 - 2021.03.05
<details open>
<summary><font size=4>最近更新</font></summary>

```
1.5.3 - 2021.05.07 修复直接设置背景色无效的问题#71,#74,增加对非全屏的支持
1.5.2 - 2021.04.06 增加协议方法,解决返回手势与WKWebView中的手势冲突问题
1.5.1 - 2021.03.09 返回手势优化,新增backStyle对应的image,可全局配置
1.5.0 - 2021.03.05
----1、优化状态栏样式修改及显隐方法,可以不用在基类实现相关方法
----2、导航栏添加机制优化,修复某些情况下可能出现两个导航栏的bug
----3、增加全局开启UIScrollView手势处理方法
```
</details>

<details>
<summary><font size=4>历史更新</font></summary>

```
* 1.4.3 - 2021.02.23 导航栏高度适配优化,导航栏间距调整优化,控制器增加禁止导航栏间距调整属性#62 #67
* 1.4.2 - 2021.02.20 返回拦截优化,增加同时处理点击返回和手势返回的方法
* 1.4.1 - 2021.02.07 暗黑模式适配优化,导航栏背景色和分割线颜色支持设置动态颜色
Expand Down Expand Up @@ -200,3 +249,19 @@ configure.shiledGuestureVCs = @[NSClassFromString(@"TZPhotoPickerController"), @
* 0.0.3 - 2019.11.12 修复设置导航栏左右间距无效的问题
* 0.0.2 - 2019.11.04 优化代码,解决只调用gk_navigationItem时导航栏不出现的bug
* 0.0.1 - 2019.11.03 对GKNavigationBarViewController做了修改,使用更方便
```
</details>

## 作者

- QQ: 1094887059

<a target="_blank" href="https://qm.qq.com/cgi-bin/qm/qr?k=Aj_f4C5-R3X1_KEdeb_Ttg8pxK_41ZJu&jump_from=webapi"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="GKNavigationBar" title="GKNavigationBar"></a>

- 支持作者

<img src="https://upload-images.jianshu.io/upload_images/1598505-1637d63e4e18e103.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="200" height="200">
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
<img src="https://upload-images.jianshu.io/upload_images/1598505-0be88fd4943d1994.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="200" height="200">

[回到顶部](#readme)

0 comments on commit 41003d2

Please sign in to comment.