无法以编程方式为UITabbarItem设置操作

时间:2012-06-07 05:55:50

标签: objective-c ios uitabbar uitabbaritem

我需要为UITabbar设置操作,当我点击我的tabbaritem时,它应该转到我在另一个viewcontroller中的动作。

但它会重定向到UITableview

这是我的代码 -

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

// create our table view controller that will display our store list    
FirstViewController *firstViewController = [[EzMasterViewController alloc] init];


// create the navigation controller that will hold our store list and detail view controllers and set the store list as the root view controller
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:firstViewController];
[navController.tabBarItem setTitle:@"Home"];
[navController.tabBarItem setImage:[UIImage imageNamed:@"53-house.png"]];


SecondViewController *secondViewController = [[SecondViewController alloc] init];


// create the navigation controller that will hold our store list and detail view controllers and set the store list as the root view controller
UINavigationController *navController1 = [[UINavigationController alloc] initWithRootViewController:secondViewController];
[navController1.tabBarItem setTitle:@"Scan"];
[navController1.tabBarItem setImage:[UIImage imageNamed:@"195-barcode.png"]];

ThirdViewController *thirdViewController = [[ThirdViewController alloc] init];


// create the navigation controller that will hold our store list and detail view controllers and set the store list as the root view controller
UINavigationController *navController2 = [[UINavigationController alloc] initWithRootViewController:thirdViewController];
[navController2.tabBarItem setTitle:@"Map"];
[navController2.tabBarItem setImage:[UIImage imageNamed:@"07-map-marker.png"]];

// add our view controllers to an array, which will retain them
NSArray *viewControllers = [NSArray arrayWithObjects:navController, navController1,navController2, nil];

// add our array of controllers to the tab bar controller
UITabBarController *tabBarController = [[UITabBarController alloc] init];
[tabBarController setViewControllers:viewControllers];

// set the tab bar controller as our root view controller    
[self.window setRootViewController:tabBarController];

// Override point for customization after application launch.
[self.window makeKeyAndVisible];
return YES;

}

点击SecondViewController tabbaritem,它应重定向到该操作, 行动在FirstViewController

1 个答案:

答案 0 :(得分:0)

您应该考虑实施UITabBarControllerDelegate's两种方法:

– tabBarController:shouldSelectViewController:
– tabBarController:didSelectViewController: