如图片所示
我需要点击个人中心然后跳转到“我的”tabbar里面,肯定不是用push,因为那样不符合需求。所以应该用另外一种方式
在首页这个界面获取到你的tabbar控制器,然后让tabbar的selectedIndex等于你要跳转的那个tabbar就行了
MHIXTabBarController *tabbar = (MHIXTabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;
tabbar.selectedIndex = 3;
这里有个小问题,我是通过把tabbar设置为根控制器,然后获取到的,如果你的根控制器不是tabbar,那你必须要在完成一系列操作之后把tabbar控制器换成根控制器,
比如在这里我就是在登录完成之后设置的
MHIXTabBarController *tabbarVC = [[MHIXTabBarController alloc] init];
app_Delegate.window.rootViewController = tabbarVC;
这里的app_Delegate是个宏,别误导大家了
#define app_Delegate ((AppDelegate *)[UIApplication sharedApplication].delegate)
这里还有个问题 你在登录完成之后立马把控制器换成tabbarController 是没有动画的,会卡顿一下,所以我还是投机取消的先presentViewController过去再换的,顶多再设置一下一秒延迟。。。至于我这种方法可不可取 ,那就仁者见仁智者见智了。
MHIXTabBarController *tabbarVC = [[MHIXTabBarController alloc] init];
[self presentViewController:tabbarVC animated:YES completion:nil];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
app_Delegate.window.rootViewController = tabbarVC;
});
网友评论