如圖片所示
我需要點擊個人中心然后跳轉到“我的”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;
});