UITabBar的TabBarItems

时间:2014-03-27 22:14:14

标签: ios objective-c uitabbar uitabbaritem

我在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委托。

2 个答案:

答案 0 :(得分:1)

答案 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]];