我们经常会遇到这样的情况。用户登录的时候显示的个人中心页面,用户没有登录的时候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
}
网友评论