刚看了几天教程就开始跟着开发了,以前也没学过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; }
运行结果如下:
导航: