iOS中 UITabBarController中自定义UITabBar

来源:互联网 发布:淘宝的全民抢拍 编辑:程序博客网 时间:2024/05/13 17:56

1.创建多个视图控制器,放如UITabBarController中

 AViewController  *aa = [[AViewController alloc] init];    UINavigationController* ayNav = [[UINavigationController alloc]initWithRootViewController:aa];   BViewController  *bb = [[BViewController alloc] init];   UINavigationController* bNav = [[UINavigationController alloc]initWithRootViewController:bb];    CViewController  *cc = [[CViewController alloc] init];    UINavigationController* cNav = [[UINavigationController alloc]initWithRootViewController:cc];    DViewController  *dd = [[DViewController alloc] init];    UINavigationController* dNav = [[UINavigationController alloc]initWithRootViewController:dd];    2.初始化tabbar   UITabBarController *tabBarController = [[UITabBarController alloc]init];   tabBarController.delegate=self;    tabBarController.viewControllers=[[NSArray alloc]initWithObjects:ayNav,bNav,cNav,dNav,nil];

  3.获取到tabBarController中的tabBar,在从tabBar中获取到每个items

UITabBar *tabBar = tabBarController.tabBar; UITabBarItem *aTabBarItem = [tabBar.items objectAtIndex:0]; UITabBarItem *bTabBarItem = [tabBar.items objectAtIndex:1];UITabBarItem *cTabBarItem = [tabBar.items objectAtIndex:2];UITabBarItem *dTabBarItem = [tabBar.items objectAtIndex:3];

  4. 设置tabBar中items的标题

aTabBarItem.title = @"小韩哥";bTabBarItem.title = @"iOS编程";cTabBarItem.title = @"ios开发";dTabBarItem.title = @"苹果系统";

   5.设置tabBar中items的图片

[aTabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"aa_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"1.png"]];[bTabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"bb_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"2.png"]];[cTabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"cc_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"3.png"]];[dTabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"dd_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"4.png"]];

    6.设置tabBar的背景图片

 UIImage* tabBarBackground = [UIImage imageNamed:@"tabbar1.png"]; [[UITabBar appearance] setBackgroundImage:[tabBarBackground resizableImageWithCapInsets:UIEdgeInsetsZero]]; [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tabbar.png"]];


   7.改变tabBar中items上字体的颜色

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:                                                   [UIColor grayColor], UITextAttributeTextColor,                                                   nil nil] forState:UIControlStateNormal]; UIColor *titleHighlightedColor = [UIColor colorWithRed:153/255.0 green:192/255.0 blue:48/255.0 alpha:1.0]; [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:                                                    titleHighlightedColor, UITextAttributeTextColor,                                                   nil nil] forState:UIControlStateHighlighted];

 8.将tabBarController加入window中

self.window.rootViewController = tabBarController;[self.window makeKeyAndVisible];



2 0
原创粉丝点击