QuintGao / GKNavigationBarViewController

iOS自定义导航栏-导航栏联动
https://www.jianshu.com/p/577755d0d69a
MIT License
727 stars 130 forks source link

借用作者平台说下我的理解 #46

Closed 295060456 closed 3 years ago

295060456 commented 4 years ago

在多人开发的项目中,你不能要求所有人都一定要懂GK,GK的构架和系统的不是一回事; 我一直以为对系统的东西应该抱有敬畏的心态 毕竟人家底层做了优化,自己写的肯定多多少少有差距,而且也是通过调其他的Api,相当于脱了裤子放屁 用GK主要是对系统的把握不清 今天和朋友聊过,好像iOS版本不一样对应的一些生命周期都有变动,这里不过多赘述是哪些Api 我的理解是,系统的不要屏蔽,让新来的朋友可以自由发挥自由选择到底是用GK还是系统的

我这里写了一个轮子,我自己自测了没问题,我也没有单元测试,请广大网友多多留言 这个轮子我没有pod,你们下载来自己研究便好。 主要对系统的Tabbarctr 那一系列 以及nav 那一系列做了一些调整 一方面是拓展功能,一方面是做标记,mark以下,本来我的记忆也不太好 程序员不都是靠轮子吃饭吗? 最好统一 要不然代码乱糟糟的,互相影响,有时候排查问题乱糟糟 我们不需要中间过程,甚至少关心中间过程,集中注意力往该用力的方向使劲

我的demo: https://github.com/295060456/TabbarItemLottie

也是广泛阅读了网上的各种帖子,我也是站在大神的高度提出我的一些建议和想法 demo我会持续更新。有问题留言。

295060456 commented 4 years ago

反正说一下就是:

self.isHiddenNavigationBar = NO;这个属性决定是否关闭系统的导航栏,关了你用GK,不关你用不来GK你继续系统 学习GK用分类无入侵,你不调方法永远不会开辟内存。

295060456 commented 4 years ago

补充一下,以我的demo为例子,必须使用BaseNavigationVC,直接用系统的没效果

295060456 commented 4 years ago

下载demo,运行工程,点击第一个Tabbaritem对应的VC,推到另一个VC里面,具体实现在VC_9里面 self.isHiddenNavigationBar = NO;//这一句决定是否有navigationbar