在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:GKNavigationBar开源软件地址:https://gitee.com/QuintGao/GKNavigationBar开源软件介绍:GKNavigationBarGKNavigationBarViewController的分类实现方式,耦合度底,使用更加便捷 Swift版本请看这里 → GKNavigationBarSwift 介绍:(本框架的特性)
重要!!!感谢使用该库,如果在使用过程中遇到问题可查看issue或提交issue,或者进QQ群1047100313 1、手势不生效?1、查看是否使用了+ (instancetype)rootVC:(UIViewController *)rootVC 方法初始化导航控制器 2、导航栏不显示?查看是否调用了跟导航栏相关的方法,如self.gk_navTitle = @"GKNavigationBar" 3、切换控制器的时候出现状态栏显示异常(一半黑一半白等)解决办法:在控制器初始化方法里面设置状态栏样式 - (instancetype)init { if (self = [super init]) { self.gk_statusBarStyle = UIStatusBarStyleLightContent; } return self;} 4、Xcode 11.4 在调试的时候会出现状态栏样式改变不了的情况解决办法:在基类控制器里实现下面两个方法 - (BOOL)prefersStatusBarHidden { return self.gk_statusBarHidden;}- (UIStatusBarStyle)preferredStatusBarStyle { return self.gk_statusBarStyle;} 使用说明使用方式1、手动导入直接拖入GKNavigationBar文件夹到项目,#import "GKNavigationBar.h",开始使用 2、pod方式Podfile中添加 pod 'GKNavigationBar',执行pod install 或pod update 安装,#import <GKNavigationBar/GKNavigationBar.h>,开始使用 模块说明:
3、Carthage方式Cartfile中添加 github "QuintGao/GKNavigationBar",执行carthage update --platform iOS,#import <GKNavigationBar/GKNavigationBar.h>,开始使用 4、SPM方式在Xcode中点击File->Swift Packages->Add Package Dependency,然后输入https://github.com/QuintGao/GKNavigationBar下载相应版本的代码,开始使用 使用方法1、在AppDelegate中添加导航配置[GKConfigure setupDefaultConfigure] 2、创建根导航控制器UINavigationController *nav = [UINavigationController rootVC:[GKMainViewController new]]; 3、设置导航栏属性(调用即创建)self.gk_navBackgroundColor = [UIColor red] 部分功能说明1、返回拦截包括点击返回和手势返回// 重写下面的方法,拦截返回手势#pragma mark - GKGesturePopHandlerProtocol- (BOOL)navigationShouldPop { // do something return NO;} 也可以单独处理点击返回和手势返回 // 重写下面的方法,拦截点击返回- (BOOL)navigationShouldPopOnClick { // do something return NO;} // 重写下面的方法,拦截手势返回- (BOOL)navigationShouldPopOnGesture { // do something return NO;} 2、与系统导航平滑过渡1、开启系统导航过渡处理 nav.gk_openSystemNavHandle = YES;2、在控制器中设置gk_popDelegate并实现下面的方法#pragma mark - GKViewControllerPopDelegate- (void)viewControllerPopScrollBegan { }- (void)viewControllerPopScrollUpdate:(float)progress { // 由于已经出栈,所以self.navigationController为nil,不能直接获取导航控制器 UIViewController *vc = [GKConfigure visibleViewController]; vc.navigationController.navigationBar.alpha = 1 - progress;}- (void)viewControllerPopScrollEnded:(BOOL)finished { // 由于已经出栈,所以self.navigationController为nil,不能直接获取导航控制器 UIViewController *vc = [GKConfigure visibleViewController]; vc.navigationController.navigationBar.alpha = 1; vc.navigationController.navigationBarHidden = finished;} 3、屏蔽某些类的导航栏间距调整处理及手势处理// 屏蔽导航栏间距处理configure.shiledItemSpaceVCs = @[NSClassFromString(@"TZPhotoPickerController"), @"TZAlbumPickerController", @"TZ"]; // 屏蔽手势处理configure.shiledGuestureVCs = @[NSClassFromString(@"TZPhotoPickerController"), @"TZAlbumPickerController", @"TZ"]; 更多属性及方法可在demo中查看 版本记录
|
请发表评论