关于百度地图奇葩的bug

首先说明一下,这个bug把我折磨的想死的心都有了!下面我们还是来说说bug,希望遇到这样bug的程序猿们共勉:

一、环境阐述:

我的项目中是用storyboard和自定义tabBarController相结合的。在首页是百度地图,是tabBarController中的一个子控制器,第二个自控制器是做个人中心的。

二:功能讲解:

要做得功能也非常简单,就是在点击个人中心的退出登录按钮之后,控制器切换到首页的百度地图。

三:bug所在:

首先因为我的主体框架是用storyboard搭建的,所以我再点击退出登录的按钮方法中是通过切换根控制器加载的storyboard来更改的,如下代码:

    UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:nil];

            HXTabBarController *tabBarC = [story instantiateInitialViewController];

            self.tabBarController = tabBarC;

            self.window.rootViewController = tabBarC;

但是这样会出现bug,在程序首次下载之后,切换到个人中心界面,首次点击退出按钮,没有问题,但是再次切换到个人中心界面点击退出按钮,程序就会在百度地图初始化的时候崩溃。

四、解决方法:

然后我变换了一种方法,一开始直接使用[self.tabBarController setSelectedIndex:0];这样底部的tabBar并没有发生变化,最后的处理方法,是通过强转控制器,改变选项修改,代码如下:

[self.tabBarController setSelectedIndex:0];

                HXTabBarController *tabBarCont = (HXTabBarController *)self.tabBarController;

                HXTabBarButton *btn =(HXTabBarButton *)tabBarCont.myTabBar.subviews[0];

                btn.selected = YES;

                HXTabBarButton *btn1 =(HXTabBarButton *)tabBarCont.myTabBar.subviews[1];

                btn1.selected = NO;

希望这个能够帮助到大家,这个bug首先能发现就是个奇葩,仅仅只有在首次安装,第二次点击退出登录切换能才能碰到,希望遇到这样bug的小伙伴能够共勉!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值