Iphone:无法从导航栏控制器返回

时间:2011-02-11 01:20:59

标签: iphone objective-c

我有一个非常简单的问题。我有一个视图控制器。在视图控制器中,我添加了几个按钮。单击按钮时,我必须启动一个标签栏控制器(每个控制器都有导航控制器)。

代码段:

- (IBAction) pushNewsAlertsController:(id)sender {

   //Create a navigation controller
   UINavigationController *FirstNavController = [[UINavigationController alloc] init] ;

   //create the view controller (table view controller)
   FirstViewController *firstViewController = [[FirstViewController alloc] init];

   [FirstNavController pushViewController:firstViewController animated:YES];


   //Create a navigation controller
   UINavigationController *secondNavController = [[UINavigationController alloc] init] ;

   //create the view controller (table view controller)
   SecondViewController *secondViewController = [[SecondViewController alloc] init];
   [secondNavController pushViewController:secondViewController animated:YES];

   // Set the array of view controllers
   tabBarController.viewControllers = [NSArray arrayWithObjects:firstNavController, secondNavController, nil] ;

   //Add the tab bar controller's view to the window
   [self.view addSubview:tabBarController.view];
}

我可以添加标签视图和导航控制器。问题是,单击按钮后,我无法返回主视图。

任何人都可以指导我如何返回上一个视图,以便我可以点击其他按钮。

2 个答案:

答案 0 :(得分:1)

在这种情况下,我会考虑以模态方式显示标签栏控制器。这是一种更清晰的组织视图的方式,与组织用户界面的方式相同。您可以关闭模​​式演示文稿以返回上一个视图。阅读适用于iOS的View Controller Programming Guide,了解类似的建议和示例。

答案 1 :(得分:0)

不确定我是否得到你想要做的事情,但是如果你想让标签栏控制器视图再次消失,那么唯一的方法就是反过来了

[self.view addSubview:tabBarController.view];

可能是

[tabBarController.view removeFromSuperview];

我必须说它看起来像你正在建造的奇怪建筑,但它可能会起作用。