替换tabbarController的childController

我们经常会遇到这样的情况。用户登录的时候显示的个人中心页面,用户没有登录的时候tanbbar的最后一个tab显示的用该是登录页面。

  • 程序刚开始运行的时候绘制tabbar不会有什么问题。但是如果用户中途异地登录我们是如何动态静默的替换掉tabbar的个人中心。改为登录页面呢。其实就是替换tabbar的最后一个child控制器。

一般用户掉线会收到一个tokenInvalid的通知,再通知的方法中替换掉tabbar的控制器就ok 了。注意tabbar需要重新绘制。还要回复当前的selectIndex


 
 - (void)replaceControllers{

 NSMutableArray *arr = [[NSMutableArray alloc] initWithArray:[tabBarController viewControllers]];
 NewViewController *nvc = [[NewViewController alloc] init];
 [arr replaceObjectAtIndex:1 withObject:nvc]; 
 [tabBarController setViewControllers:arr]; 
//重新绘制tabbar
}

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

推荐阅读更多精彩内容