剛看了幾天教程就開始跟著開發了,以前也沒學過C,太痛苦了~只能看看大神的博客,自己再總結學習一下了。
?
1.首先新建一個TabBarViewController繼承于UITabBarController。然后什么都不用寫,相當于裝各個tab頁的容器。
2.給每個視圖都寫一個類,繼承于UIViewController,然后只要在viewDidLoad里寫屬性就ok。除了下面的WebChatViewController還寫了一個ContactViewController。
#import "WebChatViewController.h"@implementation WebChatViewController- (void)viewDidLoad {[super viewDidLoad];self.view.backgroundColor = [UIColor redColor];//視圖背景顏色 self.title = @"Chat";//視圖控制器的標題 self.tabBarItem.title = @"Web Chat";//標簽上顯示的名稱self.tabBarItem.image = [UIImage imageNamed:@"tabbar_mainframe.png"];//標簽上顯示的圖片self.tabBarItem.selectedImage = [UIImage imageNamed:@"tabbar_mainframeHL.png"];//選中后的圖片self.tabBarItem.badgeValue = @"5";//紅泡泡//下面兩行暫時還不太理解。。。//注意通過tabBarController或者parentViewController可以得到其俯視圖控制器(也就是TabBarViewController)NSLog(@"%i",self.tabBarController==self.parentViewController);//對于當前應用二者相等 }@end
3.在AppDelegate.m里設置TabBar視圖為根視圖,修改第一個BOOL型的方法即可。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {_window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];//初始化TabBarViewController *tabBarController = [[TabBarViewController alloc] init];WebChatViewController *webChatController = [[WebChatViewController alloc] init];ContactViewController *contactController = [[ContactViewController alloc] init];//把需要的tab都加進去tabBarController.viewControllers = @[webChatController,contactController];//注意默認情況下UITabBarController在加載子視圖時是懶加載的,所以這里調用一次contactController,否則在第一次展示時只有第一個控制器tab圖標,contactController的tab圖標不會顯示for (UIViewController *controller in tabBarController.viewControllers){UIViewController *view = controller.view;}_window.rootViewController = tabBarController;[_window makeKeyAndVisible];return YES; }
?
運行結果如下:
導航: