quintgao / gknavigationbarviewcontroller Goto Github PK
View Code? Open in Web Editor NEWiOS自定义导航栏-导航栏联动
Home Page: https://www.jianshu.com/p/577755d0d69a
License: MIT License
iOS自定义导航栏-导航栏联动
Home Page: https://www.jianshu.com/p/577755d0d69a
License: MIT License
iOS 12.0
GKNav: 2.1.4
在有tabbar的其中一个根控制器下,左滑1次(gk_openScrollLeftPush 默认:NO,gk_translationScale== NO),然后push其他页面的时候,页面卡死.
继承了你的VC之后 播放器释放不了 都返回好几层了 自己还在播放
viewControllerPopScrollEnded使用这个代理,导致wkweb无法释放,其他页面右滑就崩溃了
你好,push到另一个控制器(含多个子控制器)时,转场动画没有了,请问是什么原因?
抖音类型中滑动push到vc,tabbar会异常,因为我
使用了tabbarVC,在滑动进入右边的vc的时候拖动时,tabbar会浮起来,完全进入到了右侧的vc,tabbar闪烁一下再消失。
进行下拉系统通知列表界面时导航栏上状态栏会出现白色字体重影
如果控制器不继承自GKNavigationBarViewController,push 之后就没有NavigationBar,请问这个问题有办法解决吗?
建议导航栏右侧按钮,位置调整一下
使用IQKeyboardManager管理键盘输入 会影响侧滑返回设置
当输入框处于编辑状态,设置的禁止侧滑半屏 全屏侧滑返回失效
退出键盘也一样失效
在多人开发的项目中,你不能要求所有人都一定要懂GK,GK的构架和系统的不是一回事;
我一直以为对系统的东西应该抱有敬畏的心态
毕竟人家底层做了优化,自己写的肯定多多少少有差距,而且也是通过调其他的Api,相当于脱了裤子放屁
用GK主要是对系统的把握不清
今天和朋友聊过,好像iOS版本不一样对应的一些生命周期都有变动,这里不过多赘述是哪些Api
我的理解是,系统的不要屏蔽,让新来的朋友可以自由发挥自由选择到底是用GK还是系统的
我这里写了一个轮子,我自己自测了没问题,我也没有单元测试,请广大网友多多留言
这个轮子我没有pod,你们下载来自己研究便好。
主要对系统的Tabbarctr 那一系列 以及nav 那一系列做了一些调整
一方面是拓展功能,一方面是做标记,mark以下,本来我的记忆也不太好
程序员不都是靠轮子吃饭吗?
最好统一 要不然代码乱糟糟的,互相影响,有时候排查问题乱糟糟
我们不需要中间过程,甚至少关心中间过程,集中注意力往该用力的方向使劲
我的demo:
https://github.com/295060456/TabbarItemLottie
也是广泛阅读了网上的各种帖子,我也是站在大神的高度提出我的一些建议和想法
demo我会持续更新。有问题留言。
On iOS 13, changing layout margins of a private view is not allowed. So, expanding the frame to eliminate the layout margins can be an alternative solution.
GKNavigationBar.m中的这段代码要改下了。
// 设置导航item偏移量
if (GKDeviceVersion >= 11.0 && !GKConfigure.gk_disableFixSpace) {
self.layoutMargins = UIEdgeInsetsZero;
for (UIView *subview in self.subviews) {
if ([NSStringFromClass(subview.class) containsString:@"ContentView"]) {
// 修复iOS11 之后的偏移
subview.layoutMargins = UIEdgeInsetsMake(0, self.gk_navItemLeftSpace, 0, self.gk_navItemRightSpace);
break;
}
}
}
UIImagePickerController 调用相机代理方法回调不了?
self.gk_navigationItem.searchController = _searchController;
显示被压缩和无法点击
我在Podfile中引入
pod 'GKNavigationBarViewController'
使用pod install 然后在xcode中编译会提示Code Sign Error
....code object is not signed at all
根据网友的提示,是你的资源目录使用Resources名字导致。
所以我修改了Resources文件夹的名字,重新将文件夹倒入工程,这个时候是可以成功的。
建议优化一下,使得更好的支持cocospod
- (void)setGk_navBarBackgroundAlpha:(CGFloat)gk_navBarBackgroundAlpha {
_gk_navBarBackgroundAlpha = gk_navBarBackgroundAlpha;
[self.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if (GKDeviceVersion >= 10.0 && [obj isKindOfClass:NSClassFromString(@"_UIBarBackground")]) {
dispatch_async(dispatch_get_main_queue(), ^{
obj.alpha = gk_navBarBackgroundAlpha;
});
} else if ([obj isKindOfClass:NSClassFromString(@"_UINavigationBarBackground")]) {
dispatch_async(dispatch_get_main_queue(), ^{
obj.alpha = gk_navBarBackgroundAlpha;
});
}
}];
self.clipsToBounds = gk_navBarBackgroundAlpha == 0.0;
}
10.0之前都要通过_UINavigationBarBackground来修改。
我有个页面就是继承了GKNavigationBarViewController,但是系统的导航栏没有隐藏 ,我用UINavigationControllerDelegate的:
在gk_navigationBar上添加子视图,子视图的Y值无法改变
遇到的问题:与系统导航栏混用之后,发现从GKNavi到系统Navi自动隐藏导航栏,即使设置self.navigationController.navigationBar.hidden = NO;也没有用
gk_navRightBarButtonItems 这个方法 设置后 模拟器上右边可以展示2个按钮 但是在真机上的时候 展示不出来 我的机型是10.3.3 另外用9.3的测试 也展示不出来
swfit会全局调用GKNavBar,在使用其他一些框架,使用到原生UINav的时候原生控件就没法使用了。我估计纯OC项目可能不会出现这个问题。
2018.9.11 -- 2.1.0 解决根控制器开启左滑push无效的问题
这个根控制器开启左滑push无效的问题,不应该公开个属性给别人设置吗。升级后就直接出bug了。
//此处代码给我改成这样解决了
if (self.navigationController.gk_openScrollLeftPush) {
// 开启了左滑push功能
// 忽略根控制器
if (self.navigationController.viewControllers.count <= 1) {
return NO;
}
}
返回按钮改成项目UI图片
LXBaseNavigationController *nav = [LXBaseNavigationController rootVC:vc translationScale:NO];
// [[LXBaseNavigationController alloc] initWithRootViewController:vc];
请问能一键修改返回按钮的图标?
可以尝试下把 GKNavigationBarViewController 这个基类干掉,使用分类的形式代替基类并设置可配置的黑名单来处理,基类有时耦合度太高了,
工程下载下来,界面返回根本不支持左滑返回效果
rt 更新完不显示返回图标 我看默认的给了黑色了 但是不显示 , 必须手动添加吗 ?
另外config 配置 没有用
tabbarController的viewControllers在自定义BarButtonItem时设置了space
框架好像只对UIViewController是支持,这边旧项目有部分用到了UITableViewController UICollectionViewController类型的,但是不想对这些vc加白名单
作者你好,GKNavigationBarViewController库在UINavigationController+GKCategory文件中hook了所有UINavigationController的viewDidLoad,对除UIImagePickerController外的所有导航栏控制器隐藏了导航条...
这个会导致同时集成GKNavigationBarViewController和TZImagePickerController的项目里,TZImagePickerController没有导航条...
希望作者可以提供个属性允许设置过滤掉某些导航栏控制器。
我主页面是一个uiscrollview,contentsize=screenwidth*2;scrollview默认contentoffset.x = screenwidth; 当我把scrollview滑动到contentoffset.x =0时,再滑动回来,这时候再push控制器时,app就假死了,怎么办?十万火急,拜托了
nav_line 图片好像没内容
设置
self.navigationBar.translucent = NO;
// 取消自动下移
self.automaticallyAdjustsScrollViewInsets = false;
tableview好像都是从 (0,0)开始 可以设置从(64,0)开始么
新需求:右滑Push跳转一个新页面,就像左滑跳转新页面一样?如何修改?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.