如圖片所示
我需要點(diǎn)擊個人中心然后跳轉(zhuǎn)到“我的”tabbar里面,肯定不是用push迁筛,因為那樣不符合需求咳蔚。所以應(yīng)該用另外一種方式
在首頁這個界面獲取到你的tabbar控制器,然后讓tabbar的selectedIndex等于你要跳轉(zhuǎn)的那個tabbar就行了
MHIXTabBarController *tabbar = (MHIXTabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;
tabbar.selectedIndex = 3;
這里有個小問題锯茄,我是通過把tabbar設(shè)置為根控制器厢塘,然后獲取到的,如果你的根控制器不是tabbar肌幽,那你必須要在完成一系列操作之后把tabbar控制器換成根控制器晚碾,
比如在這里我就是在登錄完成之后設(shè)置的
MHIXTabBarController *tabbarVC = [[MHIXTabBarController alloc] init];
app_Delegate.window.rootViewController = tabbarVC;
這里的app_Delegate是個宏,別誤導(dǎo)大家了
#define app_Delegate ((AppDelegate *)[UIApplication sharedApplication].delegate)
這里還有個問題? 你在登錄完成之后立馬把控制器換成tabbarController 是沒有動畫的喂急,會卡頓一下格嘁,所以我還是投機(jī)取消的先presentViewController過去再換的,頂多再設(shè)置一下一秒延遲廊移。糕簿。。至于我這種方法可不可取 画机,那就仁者見仁智者見智了冶伞。
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;
});