如何处理视图控制器?

时间:2011-05-21 09:34:47

标签: iphone controller navigation tabbar

大家好我正在开发一个应用程序。那里有一个带5个按钮的主屏幕。点击每个按钮,我想用带有5个视图控制器的tabbar打开屏幕。我的意思是当你点击按钮时tabbar已打开。标签栏视图上也有后退按钮。单击后退按钮我想弹回主屏幕,反之亦然。 如何做那些伙伴。任何教程,链接,示例代码将不胜感激。

非常感谢所有人

1 个答案:

答案 0 :(得分:1)

导航堆栈中的Tabbar控制器很复杂。由于每个标签控制器本身也可以有导航控制器。

有一个WindowManager课程。它应该拥有两者     - FirstViewController和     - TabbarController

所有组件和UITabbarControllers本身都应该在WindowManager类中实例化。 它的init可能有这样的代码,两个tabbarcontrollers类似。

self.tabBarController = [[UITabBarController alloc] init];
    self.controllers = [[NSMutableArray alloc] init];

// initialize the view controllers and navigation controllers for the tab bar

self.friendsVC = [[FriendsVC alloc] initWithNibName:@"FriendsView" bundle:nil];
UINavigationController *friendsNVC = [[UINavigationController alloc] initWithRootViewController: friendsVC];
friendsNVC.navigationBar.barStyle = UIBarStyleBlack;
[controllers addObject:friendsNVC];  
[friendsNVC release];

self.paymentsVC = [[PaymentsVC alloc] initWithNibName:@"PaymentsView" bundle:nil];
UINavigationController *paymentsNVC = [[UINavigationController alloc] initWithRootViewController: paymentsVC];
paymentsNVC.navigationBar.barStyle = UIBarStyleBlack;
[controllers addObject:paymentsNVC];
[paymentsNVC release];  

tabBarController.viewControllers = controllers;
tabBarController.selectedIndex = 0; 
tabBarController.delegate = self;

self.view = tabBarController.view;

WindowManager中,您可以使用两种方法,例如

[WindowManager showViewController] and
[WindowManager showTabbarController].

- showViewController {
  //Initiate View controller and use [self.window addSubView:vc.view];
}

- showTabbarController {
  // initiate the tabbar manager
}

您可以在第一个标签栏控制器左侧顶部显示“后退”按钮,以调用

[WindowManager showViewController];