天天看点

iOS中 UITabBarController中自定义UITabBar

版权声明:本文为博主原创文章,未经博主允许不得转载。

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 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 nil] forstate:uicontrolstatehighlighted];  

 8.将tabbarcontroller加入window中

self.window.rootviewcontroller = tabbarcontroller;  

[self.window makekeyandvisible];  

原文地址:http://blog.csdn.net/qq_31810357/article/details/49833581