我在UITabBar
上有一个UIViewController
,我设置了UITabBar
委托,这就是我在viewDidLoad:
方法中设置UITabBar的方法
// Load UITabBar for FindModels View & call tabBar delegates
findModelsTabBar = [[UITabBar alloc] init];
findModelsTabBar.delegate = self; // This sets up tabbardelegate method
[findModelsTabBar setTranslucent:NO];
findModelsTabBar.backgroundColor = [UIColor lightGrayColor];
findModelsTabBar.frame = CGRectMake(0.0, screenRectTabBar.size.height - 110, screenRectTabBar.size.width, 45.0);
[[UITabBar appearance] setBarTintColor:[UIColor colorWithRed:colorController.lgRed/255.0 green:colorController.lgGreen/255.0 blue:colorController.lgBlue/255.0 alpha:1.0]];
[self.view insertSubview:findModelsTabBar aboveSubview:self.tableView]; // add tabBar to the mainView (appears at the bottom of the screen)
然后我有我的委托方法
#pragma TabBar delegate
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
switch (item.tag) {
case 0:
{
NSLog(@"0");
}
break;
case 1:
{
NSLog(@"1");
}
break;
case 2:
{
NSLog(@"2");
FindModelsViewController *findModelsViewController = [[FindModelsViewController alloc] initWithNibName:@"FindModelsViewController" bundle:nil];
// Sets the back button for the new view that loads (this overrides the usual parentview name with "Back")
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style: UIBarButtonItemStyleBordered target:nil action:nil];
[self.navigationController pushViewController:findModelsViewController animated:YES];
// Set Delegates so you can get the data back
[findModelsViewController setDelegate:self];
}
break;
default:
break;
}
}
我想知道如何使用图像创建UITabBar项目,并在单击时调用该tabBar委托。
答案 0 :(得分:1)
我猜以下所有链接都会对您有所帮助,就委托而言,当您设置UITabBarItem时,只需为每个链接设置标记,然后操纵您的条件。
iPhone instantiating a UITabBarItem programmatically
Setting custom UITabBarItem programatically?
How to programmatically add UITabBarItem's Identifier type in iOS?
答案 1 :(得分:1)
您可以轻松编写一些代码,如:
UITabBarItem * item0 = [[UITabBarItem alloc] initWithTitle:@"Page 1"
image:[UIImage imageNamed:@"page1_image_normal"]
selectedImage:[UIImage imageNamed:@"page1_image_selected"]];
[item0 setTag:0];
UITabBarItem * item1 = [[UITabBarItem alloc] initWithTitle:@"Page 2"
image:[UIImage imageNamed:@"page2_image_normal"]
selectedImage:[UIImage imageNamed:@"page2_image_selected"]];
[item1 setTag:1];
UITabBarItem * item2 = [[UITabBarItem alloc] initWithTitle:@"Page 3"
image:[UIImage imageNamed:@"page3_image_normal"]
selectedImage:[UIImage imageNamed:@"page3_image_selected"]];
[item2 setTag:2];
[findModelsTabBar setItems:@[item0, item1, item2]];