1
视图是模态呈现模态的视图:如何推到新视图控制器从实现的UITabBarController
[self presentModalViewController:modalNavController animated:YES];
该视图使用具有4个元件的UITabBarController。其中一个元素,“信息”有一个按钮,只有当它可用时才可见。如果按钮被点击,它需要推送到另一个视图控制器,但我也想维护它的父视图中的标签栏。我一直无法弄清楚如何在保留标签栏的情况下做到这一点。我尝试过在所有我能够想象的地方推动和呈现Modally。这应该如何正确完成?
创建标签栏:
infoController.title = @"Info";
streetViewController.title = @"Street View";
reviewController.title = @"Reviews";
streetViewController.tabBarItem.image = [UIImage imageNamed:@"flag.png"];
infoController.tabBarItem.image = [UIImage imageNamed:@"openMarker.png"];
reviewController.tabBarItem.image = [UIImage imageNamed:@"reviews.png"];
UITabBarController *tabBarController = [[UITabBarController alloc] init];
tabBarController.view.frame = CGRectMake(0, 0, 320, 460);
UINavigationController *infoNC = [[[UINavigationController alloc] initWithRootViewController:infoController] autorelease];
infoNC.navigationBarHidden = YES;
[tabBarController setViewControllers:
[NSArray arrayWithObjects:infoNC, streetViewController, reviewController, nil]];
[self.view addSubview:tabBarController.view];
谢谢你的清晰思想,托马斯。我现在遇到的问题是,第二个视图打开后,“后退”按钮关闭整个模态视图层次结构。我会尝试用弹出当前视图的不同putton替换后退按钮。 – 2010-09-20 10:04:57
你可以发布你的整个代码,所以我可以看到你是如何制作标签栏控制器等。我不知道为什么会这样,因为它实际上不应该。 :)你不是创建标签栏控制器** IN **是一个导航控制器是你吗?# – 2010-09-20 10:25:05
我编辑。我添加标签栏视图作为子视图。 – 2010-09-20 10:32:58