新建一个简单视图iOS工程,在ViewController的viewDidLoad中代码如下

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    tabBarCtrl = [[UITabBarController alloc] init];//要加入的TabBarController
    tabBarCtrl.delegate = self;
    //
    firstViewCtl = [[UIViewController alloc] init];
    firstViewCtl.title = @"first view controller";
    firstViewCtl.view.backgroundColor = [UIColor blueColor];
    firstViewCtl.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"rename first" image: nil tag:1];//自定义tabBarItem,可以贴tabBarItem背景图片,如果不写,tabBarItem的标签将显示为firstViewCtl.title内容
secondViewCtrl = [[UIViewController alloc] init]; secondViewCtrl.title = @"second view controller"; secondViewCtrl.view.backgroundColor = [UIColor redColor]; 
secondViewCtrl.tabBarItem.badgeValue = [NSString stringWithFormat:@"%d",8]; //tabBarItem红色小圈中显示数字
secondViewCtrl.tabBarItem.tag = 2; //加标示
NSArray *arryViewContrller = [NSArray arrayWithObjects:firstViewCtl, secondViewCtrl,nil]; tabBarCtrl.viewControllers = arryViewContrller; tabBarCtrl.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

[self.view addSubview:tabBarCtrl.view]; }

添加委托,ViewController.h中

 
@interface ViewController : UIViewController<UITabBarDelegate>
{
    UITabBarController *tabBarCtrl;
    UIViewController *firstViewCtl;
    UIViewController *secondViewCtrl;
}
 

 

tabBarItem点击响应

 
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    
    NSString *strTitle = viewController.title;
    NSLog(@"Title:%@ tag:%d", strTitle  , viewController.tabBarItem.tag);

     if(1 == viewController.tabBarItem.tag)

   {

        viewController.tabBarItem.badgeValue = [NSStringstringWithFormat:@"%d", rand()%100];

    }

}
 

 小结:

UITabBarController 继承自UIViewController,所以嘛。。。。。不多说了,你懂的!!