1.組成app
最下層是:tabbar 中間是:custom content 最上面:Tab bar controller viewide
Tab Bar上面顯示的每個Tab都對應着一個View Controller.atom
ViewController自己具備一個tabBarItem屬性,只要設置它,就能改變Tab Bar上對應的顯示內容。spa
若是不主動設置,系統將會根據viewController的標題自動建立一個,該tabBarItem中會顯示文字,沒有圖像。本身建立UITabBarItem,能夠指定顯示的圖像和對應的文字。code
UITabBarItem還有一個badgeValue,該屬性能夠在其右下角顯示一個小的角標,一般用於提示用戶有新的消息。blog
2.使用方式it
加載方式io
a.application delegate中的applicationDidFinishLanunching:方法中建立和加載,由於UITabBarController一般做爲整個程序的rootViewControllerevent
b.與UINavigationController結合,如IPhone的音樂和App Storeclass
1 #import "AppDelegate.h" 2 #import "FirstViewController.h" 3 #import "SecondViewController.h" 4 #import "ThridViewController.h" 5 6 @interface AppDelegate () 7 8 @property (retain,nonatomic) UITabBarController *tarBar; 9 @end 10 11 @implementation AppDelegate 12 13 14 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 15 // Override point for customization after application launch. 16 17 self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]]; 18 self.window.backgroundColor=[UIColor whiteColor]; 19 [self.window makeKeyAndVisible]; 20 21 self.tarBar=[[UITabBarController alloc]init]; 22 23 FirstViewController *f=[[FirstViewController alloc]init]; 24 SecondViewController *s=[[SecondViewController alloc]init]; 25 ThridViewController *t=[[ThridViewController alloc]init]; 26 27 f.tabBarItem=[[UITabBarItem alloc]initWithTitle:@"第一個" image:[UIImage imageNamed:@"calendar.png"] tag:0]; 28 s.tabBarItem=[[UITabBarItem alloc]initWithTitle:@"第二個" image:[UIImage imageNamed:@"datashow.png"] tag:1]; 29 t.tabBarItem=[[UITabBarItem alloc]initWithTitle:@"第三個" image:[UIImage imageNamed:@"number.png"] tag:2]; 30 // f.tabBarItem.badgeValue=@"99+"; 31 s.tabBarItem.badgeValue=@"中文"; 32 self.tarBar.viewControllers=[NSArray arrayWithObjects:f,s,t, nil]; 33 self.window.rootViewController=self.tarBar; 34 35 return YES; 36 }