All Projects → QuintGao → Gknavigationcontroller

QuintGao / Gknavigationcontroller

Licence: mit
iOS自定义导航栏-导航条联动(仿网易新闻、网易云音乐等导航栏滑动效果)

Labels

Projects that are alternatives of or similar to Gknavigationcontroller

PopOverAlert
PopOverAlert is a PopOver style alert view.
Stars: ✭ 56 (-1.75%)
Mutual labels:  pop
Lazytransitions
Lazy pop and dismiss like in the Facebook, Instagram or Twitter apps.
Stars: ✭ 377 (+561.4%)
Mutual labels:  pop
Pop Snapkit
[deprecated] Use SnapKit with the Facebook Pop animation framework.
Stars: ✭ 18 (-68.42%)
Mutual labels:  pop
SPStorkController
Now playing controller from Apple Music, Mail & Podcasts Apple's apps.
Stars: ✭ 2,515 (+4312.28%)
Mutual labels:  pop
Zmail
Zmail makes it easier to send and retrieve emails in python3
Stars: ✭ 310 (+443.86%)
Mutual labels:  pop
Jdanimationkit
Animate easy and with less code with Swift
Stars: ✭ 611 (+971.93%)
Mutual labels:  pop
StackFlowView
Enforce stack behaviour for custom UI flow.
Stars: ✭ 35 (-38.6%)
Mutual labels:  pop
Notificationbanner
Easy to use pop up notification banner for in app local notification.
Stars: ✭ 55 (-3.51%)
Mutual labels:  pop
Ftpopovermenu swift
FTPopOverMenu_Swift, swift version of FTPopOverMenu. FTPopOverMenu is a pop over menu for iOS which is maybe the easiest one to use. Supports both portrait and landscape. It can show from any UIView, any UIBarButtonItem and any CGRect.
Stars: ✭ 326 (+471.93%)
Mutual labels:  pop
Ybpopupmenu
快速集成popupMenu
Stars: ✭ 816 (+1331.58%)
Mutual labels:  pop
VBA-Arrays
😎 Array functions that are similar JavaScript functions. Example: Push, Pop, Shift, Unshift, Sort, length, toString.
Stars: ✭ 48 (-15.79%)
Mutual labels:  pop
Radialmenu
RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP
Stars: ✭ 292 (+412.28%)
Mutual labels:  pop
Popping
A collection of animation examples for iOS apps.
Stars: ✭ 5,587 (+9701.75%)
Mutual labels:  pop
go-pop3
Package pop3 provides an implementation of the Post Office Protocol - Version 3.
Stars: ✭ 21 (-63.16%)
Mutual labels:  pop
Blog App Buffalo
A blogging app built with Buffalo.
Stars: ✭ 27 (-52.63%)
Mutual labels:  pop
mail-plus
邮件收取工具包,支持pop,imap,exchange协议的邮箱以及企业邮箱
Stars: ✭ 31 (-45.61%)
Mutual labels:  pop
Dcurlrouter
通过自定义URL实现控制器之间的跳转
Stars: ✭ 393 (+589.47%)
Mutual labels:  pop
Validate
This package provides a framework for writing validations for Go applications.
Stars: ✭ 57 (+0%)
Mutual labels:  pop
Ftpopovermenu
FTPopOverMenu is a pop over menu for iOS which is maybe the easiest one to use. Supports both portrait and landscape. It can show from any UIView, any UIBarButtonItem and any CGRect.
Stars: ✭ 988 (+1633.33%)
Mutual labels:  pop
Inbucket
Disposable webmail server (similar to Mailinator) with built in SMTP, POP3, RESTful servers; no DB required.
Stars: ✭ 685 (+1101.75%)
Mutual labels:  pop

GKNavigationController --- iOS自定义导航栏-导航条联动

部分内容参考 RTRootNavigationControllerFDFullscreenPopGesture

说明:

现在大多数的APP都有导航栏联动效果,即滑动返回的时候导航栏也跟着一起返回,比如:网易新闻,网易云音乐,腾讯视频等等,于是通过查找一些资料及其他库的做法,自己也写了一个框架,可以让每一个控制器都拥有自己的导航栏,可以很方便的改变导航栏的样式等

介绍:(本框架的特性)

  • 支持自定义导航栏样式(隐藏、透明等)
  • 支持控制器开关返回手势
  • 支持控制器开关全屏返回手势
  • 支持控制器设置距离左边屏幕左边的滑动区域
  • 支持动态设置导航栏透明度,可实现渐变效果
  • 完美解决UITableView,UIScrollView滑动手势冲突
  • 支持Push一个UITabBarController(有缺陷)

Demo中部分截图如下:

image

image

image

image

image

image

用法简介

  1. 初始化,仍然使用系统方法
层次结构
1. 根控制器的导航控制器  GKNavigationController
                        - GKWrapViewController
                            - GKWrapNavigationController
                                - 你的VC1
                      ... push
                        - GKWrapViewController
                            - GKWrapNavigationController
                                - 你的VC2

2. UITabBarController作为根控制器
        UITabBarController
            tab1
                GKNavigationController
                    - GKWrapViewController
                        - GKWrapNavigationController
                            - 你的VC1
            tab2
                GKNavigationController
                    - GKWrapViewController
                        - GKWrapNavigationController
                            - 你的VC2
            ...

  1. 部分属性介绍

UIViewController:

/** 是否禁止当前控制器的滑动返回(包括全屏返回和边缘返回) */
@property (nonatomic, assign) BOOL gk_interactivePopDisabled;

/** 是否禁止当前控制器的全屏滑动返回 */
@property (nonatomic, assign) BOOL gk_fullScreenPopDisabled;

/** 全屏滑动时,滑动区域距离屏幕左边的最大位置,默认是0,表示全屏都可滑动 */
@property (nonatomic, assign) CGFloat gk_popMaxAllowedDistanceToLeftEdge;

/** 设置导航栏的透明度 */
@property (nonatomic, assign) CGFloat gk_navBarAlpha;

  1. 关于返回Item

如果你不想用我写的返回item,你可以在当前控制器或者基类控制器中重写下面的方法:

- (UIBarButtonItem *)gk_customBackItemWithTarget:(id)target action:(SEL)action;

如果你push到的是一个UITabBarController,你需要在每个分栏的root控制器中重新定义返回按钮

self.navigationItem.leftBarButtonItem = ...

Cocoapods(已支持)

pod 'GKNavigationController'

缺陷及不足

  • 没有支持自定义转场,实现如:今日头条、腾讯新闻等的转场效果
  • push到一个UITabBarController时需要子控制器重新自定义返回按钮
  • 其他(待发现)

时间记录

  • 2017.6.22 首次提交,发布
  • 2017.6.23 部分内容修改,完善
  • 2017.6.26 修复单个控制器不能设置手势返回、全屏返回、滑动区域的bug
  • 2017.7.6 支持cocoapods
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].