Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.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_View_Tabs - Fatal编程技术网

我添加了选项卡,但无法访问选项卡外的视图(ios)

我添加了选项卡,但无法访问选项卡外的视图(ios),ios,objective-c,view,tabs,Ios,Objective C,View,Tabs,我原来的应用程序有5个主屏幕视图,主屏幕上的按钮会打开其他不同的视图 我不使用故事板。最初应用程序中没有选项卡。然后,我添加了选项卡,使用 UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil] ; UIViewController *viewController2 = [[SecondViewContro

我原来的应用程序有5个主屏幕视图,主屏幕上的按钮会打开其他不同的视图

我不使用故事板。最初应用程序中没有选项卡。然后,我添加了选项卡,使用

    UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil] ;
    UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    UIViewController *viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
    UIViewController *viewController4 = [[FourthViewController alloc] initWithNibName:@"FourthViewController" bundle:nil];
    UIViewController *viewController5 = [[FifthViewController alloc] initWithNibName:@"FifthViewController" bundle:nil];

    UINavigationController *navigationController1=[[UINavigationController alloc]initWithRootViewController:viewController1];
    [navigationController1.navigationBar setBackgroundImage:[UIImage imageNamed:@"upwhitebg.png"] forBarMetrics:UIBarMetricsDefault];

    UINavigationController *navigationController2=[[UINavigationController alloc]initWithRootViewController:viewController2];
    [navigationController2.navigationBar setBackgroundImage:[UIImage imageNamed:@"upwhitebg.png"] forBarMetrics:UIBarMetricsDefault];

    UINavigationController *navigationController3=[[UINavigationController alloc]initWithRootViewController:viewController3];
    [navigationController3.navigationBar setBackgroundImage:[UIImage imageNamed:@"upwhitebg.png"] forBarMetrics:UIBarMetricsDefault];

    UINavigationController *navigationController4=[[UINavigationController alloc]initWithRootViewController:viewController4];
    [navigationController4.navigationBar setBackgroundImage:[UIImage imageNamed:@"upwhitebg.png"] forBarMetrics:UIBarMetricsDefault];

    UINavigationController *navigationController5=[[UINavigationController alloc]initWithRootViewController:viewController5];
    [navigationController5.navigationBar setBackgroundImage:[UIImage imageNamed:@"upwhitebg.png"] forBarMetrics:UIBarMetricsDefault];


     UITabBarController *tabBarController= [[UITabBarController alloc] init];
    tabBarController.viewControllers = @[navigationController1, navigationController2,navigationController3,navigationController4,navigationController5];
        //self.window.rootViewController = self.tabBarController;

    UIWindow *window = [[UIApplication sharedApplication] delegate].window;
    [window addSubview:tabBarController.view]

;
但是现在,当我点击主屏幕上的按钮时,如何显示选项卡外的视图?如何从该视图返回到5主屏幕选项卡视图

早些时候,我使用这段代码来显示按钮按下时的视图

 listController = [[MenuListController alloc] initWithNibName:@"MenuListController" bundle:nil];
    SUP101AppDelegate *delegate6 = [[UIApplication sharedApplication] delegate];
    [delegate6.navController pushViewController:listController animated:YES]

现在只需在
选项卡controller
上显示其他ViewController,即可启动它们

listController = [[MenuListController alloc] initWithNibName:@"MenuListController" bundle:nil];
SUP101AppDelegate *delegate6 = [[UIApplication sharedApplication] delegate];
[self.tabBarController presentViewController:listController animated:YES completion:nil];
您还应该将tabController设置为windowrootviewcontroller

self.window.rootViewController = tabBarController;
//[window addSubview:tabBarController.view]

只需在此基础上添加一点,当您将根视图控制器设置为选项卡栏时,您不需要将选项卡栏视图添加为窗口的子视图。