Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 选项卡栏弹出到根视图控制器_Ios_Objective C_Uitabbarcontroller - Fatal编程技术网

Ios 选项卡栏弹出到根视图控制器

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

我有一个选项卡栏应用程序,每个选项卡栏有5个不同的导航控制器。当我从一个视图控制器转到其中一个选项卡中的另一个视图时,如果我点击选项卡栏,它会自动弹出到根视图控制器。我不想发生这种事

我有一个tabbar,有Tab1、Tab2和Tab3。在选项卡1中,用户可以从View1导航到View3(View1>View2>View3)。如果用户在View3处,并点击选项卡1,则应用程序将用户带到View1(根视图控制器)。我想禁用此功能。我不想点击Tab1来弹出所有视图控制器

我已经实现了这一点

- (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];
}