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



我需要为我的UITabbar设置动作,因为当我单击我的选项卡栏项时,它应该转到我在另一个视图控制器中具有的操作。

但它正在重定向到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它应该重定向到操作,操作在FirstViewController 中的位置。

你应该考虑实现 UITabBarControllerDelegate 的两个方法:

– tabBarController:shouldSelectViewController:
– tabBarController:didSelectViewController:

最新更新