• Stars
    star
    156
  • Rank 239,589 (Top 5 %)
  • Language
    Swift
  • License
    MIT License
  • Created over 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

GKNavigationBar的Swift版本

GKNavigationBarSwift

GKNavigationBar的Swift版本 - iOS自定义导航栏,为你的每个控制器添加导航栏

Build Status License MIT platform languages cocoapods Carthage compatible Swift Package Manager compatible support

介绍:(本框架的特性)

  • 无侵入性,低耦合性
  • 支持自定义导航栏样式(隐藏、透明等)
  • 支持控制器开关返回手势
  • 支持控制器开关全屏返回手势
  • 支持控制器设置导航栏透明度,可实现渐变效果
  • 完美解决UITableView,UIScrollView滑动手势冲突
  • 可实现push,pop时控制器缩放效果(如:今日头条)
  • 可实现左滑push一个控制器的效果(如:网易新闻)

重要!!!

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

1、如果想要在控制器中动态改变状态栏样式,需要在基类控制器实现下面的方法

override var prefersStatusBarHidden: Bool {
    return self.gk_statusBarHidden
}

override var preferredStatusBarStyle: UIStatusBarStyle {
    return self.gk_statusBarStyle
}

2、如果切换控制器的时候出现状态栏显示异常(一半黑一半白等) 解决办法:在控制器初始化方法里面设置状态栏样式

// 最好在初始化方法中设置gk_statusBarStyle,否则可能导致状态栏切换闪动问题
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
    super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
    
    self.gk_statusBarStyle = .lightContent
}

3、Xcode 11.4 在调试的时候会出现不自动调用awake方法 解决办法:APP启动的时候调用GKConfigure.awake()方法,1.4.6版本修改了加载时机可不用手动调用此方法了

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    
    GKConfigure.awake()
}

使用说明

1、在AppDelegate中添加导航配置

GKConfigure.setupDefault()

2、创建根导航控制器

let nav = UINavigationController(rootVC: GKMainViewController())
nav.gk_openScrollLeftPush = true // 开启左滑push

3、设置导航栏属性(调用即创建)

self.gk_navBackgroundColor = [UIColor red]

更多属性及方法可在demo中查看

效果图

demo

版本记录

  • 1.5.9 - 2023.03.29 1、修复获取keyWindow崩溃问题 2、push、pop转场动画优化 3、修复导航栏间距调整bug
  • 1.5.8 - 2022.12.27 修复某些情况下控制器无法释放的问题 #26 #27
  • 1.5.6 - 2022.09.29 移除导航栏上的点击事件
  • 1.5.5 - 2022.09.16 导航栏高度适配iPhone14系列新设备
  • 1.5.4 - 2022.08.22 修复iOS13之前设置背景色、分割线颜色不生效问题
  • 1.5.3 - 2022.08.18 修复侧滑返回时可能出现导航栏间距不准确问题
  • 1.5.2 - 2022.08.16 屏蔽GKNavigationBar的touches事件和tap事件
  • 1.5.1 - 2022.07.29 1、增加返回手势与其他手势冲突处理代理方法 2、当只设置gk_backImage时处理优化 3、解决当子控制器添加导航栏时设置导航栏间距无效的问题
  • 1.5.0 - 2022.06.22 修复编译报错问题 #20
  • 1.4.7 - 2022.06.14 1、awake方法修改为配置时加载,可不用手动调用 2、获取当前控制器方法优化 3、导航栏添加时机优化
  • 1.4.5 - 2022.04.20 修复导航栏设置透明的bug
  • 1.4.4 - 2022.04.15 导航栏设置适配iOS13之后
  • 1.4.3 - 2022.03.30 修复最新版xcode编译报错问题
  • 1.4.2 - 2022.03.27 模拟器获取设备型号优化,内部代码优化
  • 1.4.0 - 2022.03.23 优化代码,同步oc版本,修复已知问题
  • 1.3.1 - 2020.12.25 修复边缘手势无效的bug
  • 1.3.0 - 2020.12.24 手势处理优化,解决可能出现的卡死问题 #10,push、pop手势灵敏度优化
  • 1.2.6 - 2020.12.06 导航栏间距调整优化,手势处理优化
  • 1.2.5 - 2020.12.01 修复可能出现卡死的bug
  • 1.2.4 - 2020.11.27 手势处理优化,bug修改
  • 1.2.3 - 2020.11.16 修复切换根控制器后不能释放的bug
  • 1.2.2 - 2020.11.16 修复iOS12机型设置导航栏按钮间距无效的bug,增加返回手势拦截demo
  • 1.2.0 - 2020.10.27 优化代码宏定义,增加自定义转场demo
  • 1.1.8 - 2020.10.22 适配iPhone 12机型,增加自定义转场动画属性
  • 1.1.5 - 2020.08.14 修复屏蔽控制器无效的bug
  • 1.0.3 - 2020.07.30 增加某些控制器对导航栏间距调整的影响
  • 1.0.2 - 2020.07.27 修复交换方法可能导致的crash问题
  • 1.0.0 - 2020.07.22 优化手势处理,增加属性可屏蔽某些控制器对手势处理的影响
  • 0.0.9 - 2020.07.16 增加gk_backImage,可自定义导航栏返回按钮图片
  • 0.0.7 - 2020.06.22 设置导航栏间距不再局限于GKNavigationBar
  • 0.0.6 - 2020.06.18 修复设置导航栏item间距的bug
  • 0.0.4 - 2020.04.18 修复设置标题文字颜色及大小可能无效的情况
  • 0.0.3 - 2020.04.12 优化对UIScrollView手势的处理
  • 0.0.1 - 2020.04.12 初始版本,支持Cocoapods,Carthage,SPM

More Repositories

1

GKPageScrollView

iOS类似微博、抖音、网易云等个人详情页滑动嵌套效果
Objective-C
1,530
star
2

GKPhotoBrowser

iOS仿微信、今日头条等图片浏览器
Objective-C
1,261
star
3

GKNavigationBarViewController

iOS自定义导航栏-导航栏联动
Objective-C
727
star
4

GKDYVideo

iOS仿抖音短视频
Objective-C
612
star
5

GKNavigationBar

GKNavigationBarViewController的分类实现,耦合度底,使用更便捷
Objective-C
320
star
6

GKAudioPlayerDemo

iOS使用MobileVLCKit实现仿网易云音乐播放音乐
Objective-C
288
star
7

GKWYMusic

iOS基于FreeStreamer的仿网易云音乐播放器
Objective-C
190
star
8

GKCover

GKCover-一行代码实现遮罩视图,让你的弹窗更easy
Objective-C
188
star
9

GKCycleScrollView

一个轻量级的自定义轮播图组件
Objective-C
146
star
10

GKNavigationController

iOS自定义导航栏-导航条联动(仿网易新闻、网易云音乐等导航栏滑动效果)
Objective-C
60
star
11

GKVideoScrollView

iOS仿抖音等上下滑动切换视图,使用方式类似UITableView,支持不同cell切换
Objective-C
28
star
12

GKXimalaya

iOS 仿喜马拉雅首页滑动颜色渐变效果
Objective-C
27
star
13

JXCategoryViewExt

对JXCategoryView优化及扩展,拆分pod
Objective-C
18
star
14

GKSliderView

iOS - 自定义一个滑杆控件
Objective-C
17
star
15

TagsDemo

动态创建多个标签,自动换行
Objective-C
16
star
16

GKCoverSwift

GKCover-一个简单的遮罩视图,让你的弹窗更easy,支持自定义遮罩swift版本
Objective-C
11
star
17

GKDubbingDemo

一个根据视频内容配音的demo,实现录音、添加背景音乐、插入音效、音频与音频、音频与视频合成功能
Objective-C
11
star
18

GKSetting

iOS - 快速集成各种设置界面
Objective-C
10
star
19

GKPlaceholder

UIScrollView空数据占位图
Objective-C
10
star
20

GKAuthorizationTool

ios 对系统相册、相机、麦克风授权的简易工具
Objective-C
8
star
21

GKLoadingView

iOS自定义loadingView
Objective-C
8
star
22

GKWKWebViewDemo

一个webView播放视频时自动旋转的demo
Objective-C
8
star
23

GKMessageTool

基于MBProgressHUD 1.0.0的简单封装工具类
Objective-C
6
star
24

GKDownloadManager

基于AFNetworking封装的下载管理器,支持断点续传
Objective-C
5
star
25

GKAudioRecorder

基于TheAmazingAudioEngine封装的录音播放库
Objective-C
5
star
26

JXSegmentedViewExt

对JXSegmentedView的优化及pod拆分
Swift
5
star
27

GKTabBar

iOS 自定义tabbar
Objective-C
3
star
28

GKExampleImages

demo示例图片
3
star
29

GKNavigationBarViewControllerSwift

导航栏联动
Swift
3
star
30

GKLivePhotoManager

livePhoto处理工具类
Objective-C
2
star
31

QuintGao

2
star
32

GKFlowViewDemo

流动性滚动页面Demo
Objective-C
2
star
33

GKWXManager

微信登录、支付、分享的封装
Objective-C
2
star
34

GKStatusBar

状态栏样式
Objective-C
1
star
35

GKPipManager

Objective-C
1
star
36

GKQQMusicDemo

iOS-VLCKit实现仿QQ音乐播放音乐
Objective-C
1
star