RAMAnimatedTabBarController隐藏问题

之前设计那边需要一个tabbar中心突出的效果用的这个库还不错推荐下还带几种动画动画处理的还很细腻2700个星的库还是很不错的RAMAnimatedTabBarController地址地址请戳

之后遇到了一个问题就是隐藏tabbar图标不隐藏看了下图发现作者吧tabbar弄到了windows上,而且看了issus貌似大家都遇到这个问题作者也没回复,自己弄吧。蛋疼了,又不想换库折腾了几天自己写了个类。

importUIKit

extensionRAMAnimatedTabBarController:UINavigationControllerDelegate{

funchideTabBar(flag:Bool) {

letatc =self

leticons= atc.iconsView

if(flag ==true){

foriconinicons {

icon.icon.superview?.hidden=true

}

atc.tabBar.hidden=true

}else{

atc.tabBar.hidden=false

foriconinicons {

ifletsup = icon.icon.superview{

sup.hidden=false

sup.superview?.bringSubviewToFront(sup)

}

}

}

}

判断下进来是push还是其余的我们这边所有的子界面是隐藏的我直接做的是push进来进行隐藏

funcnavigationController(navigationController:UINavigationController, willShowViewController viewController:UIViewController, animated:Bool) {

hideTabBar(viewController.hidesBottomBarWhenPushed)

}

funcnavigationController(navigationController:UINavigationController, didShowViewController viewController:UIViewController, animated:Bool){

hideTabBar(viewController.hidesBottomBarWhenPushed)

}

}

然后再RAMAnimatedTabBarController.swift里面调用58行左右的didload里面添加

super.viewDidLoad()

letconls = (self.viewControllersas? [UIViewController])?.filter({$0isUINavigationController}) ?? []

forctlinconls{

(ctlas!UINavigationController).delegate=self

}

可以解决已经提issus但是最近发现连续多级push在返回来tabbar会盖住tabbar的image,我怀疑是tababr每次进界面时候应该会走topviewcontroller之类的方法,但是在tabbar的.h里面也没找到这个方法,解决这个问题在隐藏界面直接执行这两个方法让脱离本界面时候进行显示。这个必须手写勾选store时候会造成出界面时候tabbar再次覆盖image

-(void)viewWillAppear:(BOOL)animated

{

self.hidesBottomBarWhenPushed=YES;

}

-(void)viewWillDisappear:(BOOL)animated

{

self.hidesBottomBarWhenPushed=NO;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容