1.掛代理,遵守協(xié)議
(寫在我們定義的tabBarBaseController里面來監(jiān)聽下面的按鈕點(diǎn)擊事件)
<UITabBarControllerDelegate>
self.delegate = self;
2. 在下面的方法中寫入
方法一:
PGWBaseNavigationController//總的導(dǎo)航控制器
MineTableViewController tabBar里面的某一個(gè)控制器
對登陸注冊之后進(jìn)行的判斷(是否登陸,這里是取值)
[[[NSUserDefaults standardUserDefaults]objectForKey:@"123"] isEqual: @1]
//注測控制器里面進(jìn)行注冊
RegisterViewController
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
//總的導(dǎo)航控制器
PGWBaseNavigationController *nav = (PGWBaseNavigationController *)viewController;
//在下面進(jìn)行一定的判斷
if ([nav.topViewController isKindOfClass:[MineTableViewController class]]&&[[[NSUserDefaults standardUserDefaults]objectForKey:@"123"] isEqual: @1] ) {
//注冊控制器
RegisterViewController *registerVC = [[RegisterViewController alloc] init];
//設(shè)置導(dǎo)航控制器的根控制器
PGWBaseNavigationController *registerNavi = [[PGWBaseNavigationController alloc] initWithRootViewController:registerVC];
//模態(tài)的形式進(jìn)去
[self presentViewController:registerNavi animated:YES completion:nil];
return NO;
}
return YES;
}
- (1) 在沒登錄的時(shí)候在我的里面會(huì)彈出一個(gè)登錄框

在沒有登陸的情況下tabBar的第四個(gè)按鈕不可點(diǎn)擊顯示
- (2) 模態(tài)進(jìn)去,在dismiss出來

登錄框
方法二:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
在此進(jìn)行操作(對tabBar進(jìn)行監(jiān)控)
}