Ios 选项卡栏弹出到根视图控制器
我有一个选项卡栏应用程序,每个选项卡栏有5个不同的导航控制器。当我从一个视图控制器转到其中一个选项卡中的另一个视图时,如果我点击选项卡栏,它会自动弹出到根视图控制器。我不想发生这种事 我有一个tabbar,有Tab1、Tab2和Tab3。在选项卡1中,用户可以从View1导航到View3(View1>View2>View3)。如果用户在View3处,并点击选项卡1,则应用程序将用户带到View1(根视图控制器)。我想禁用此功能。我不想点击Tab1来弹出所有视图控制器 我已经实现了这一点Ios 选项卡栏弹出到根视图控制器,ios,objective-c,uitabbarcontroller,Ios,Objective C,Uitabbarcontroller,我有一个选项卡栏应用程序,每个选项卡栏有5个不同的导航控制器。当我从一个视图控制器转到其中一个选项卡中的另一个视图时,如果我点击选项卡栏,它会自动弹出到根视图控制器。我不想发生这种事 我有一个tabbar,有Tab1、Tab2和Tab3。在选项卡1中,用户可以从View1导航到View3(View1>View2>View3)。如果用户在View3处,并点击选项卡1,则应用程序将用户带到View1(根视图控制器)。我想禁用此功能。我不想点击Tab1来弹出所有视图控制器 我已经实现了这一点 - (B
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if(self.navigationController == viewController) {
return NO;
NSLog(@"tabbar tapped");
}
return YES;
}
是的,我在界面中有委托
@interface LoginViewController () <UINavigationBarDelegate, UITabBarControllerDelegate, UITabBarDelegate>
但这仍然不起作用,有什么建议吗
基本上我也有同样的问题,
但是他们的解决方案仍然不能解决我的问题…你能详细解释一下吗?包括更多信息,比如你有多少个标签,预期的行为和结果!!!我已经添加了更多详细信息,请重新阅读我的问题您在View3控制器中有该代码,对吗?很抱歉,如果这很明显,您是否在该控制器中设置了“tabBarController.delegate=self”?因为代码的其余部分似乎是正确的……是的,在viewDidLoad中,我放置了[self.tabBarController setDelegate:self];但这仍然不起作用。怎么了?
- (void)viewDidLoad
{
//assign target and action to done button in view
self.doneButton.target = self;
self.doneButton.action = @selector(doneButtonTapped);
//make username field instantly tapped
[self.usernameField becomeFirstResponder];
//remove back button title
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)
forBarMetrics:UIBarMetricsDefault];
//
[self.tabBarController setDelegate:self];
}