分栏控制器的创建按照以往的其他控件或者控制器的创建方式是行不通的,因为它需要有一个数组作为自己的分栏元素
下面说一下我创建分栏控制器时候的步骤
4、建一个普通控制器
UIViewController*VC1 = [[UIViewControlleralloc]init];
5、给tabbar设置标题、图片、角标
VC1.tabBarItem.title=@"消息";
VC1.tabBarItem.image= [UIImageimageNamed:@"message.jpg"];
*创建一个导航控制器并给导航控制器赋值一个跟控制器。
UINavigationController*nav1 = [[UINavigationControlleralloc]initWithRootViewController:VC1];
*重复以上的步骤
4、建一个普通控制器
UIViewController*VC2 = [[UIViewControlleralloc]init];
5、在导航控制器的跟控制器使用self.title设置相应的标题,使用push跳转到下一个控制器也使用self.title设置相应的导航栏标题
在这里设置导航控制器标题
VC2.title=@"首页";
给tabbar设置标题、图片、角标
VC2.tabBarItem.title=@"联系人";
VC2.tabBarItem.image= [UIImageimageNamed:@"contact.jpg"];
创建一个导航控制器并给导航控制器赋值一个跟控制器。
UINavigationController*nav2 = [[UINavigationControlleralloc]initWithRootViewController:VC2];
6、将导航控制器放进数组中
NSArray*controllers =@[nav1,nav2];
1、UITabBarController就是一个分栏控制器
UITabBarController*tabBarController = [[UITabBarControlleralloc]init];
2、给分栏控制器赋值一个放着控制器的数组
tabBarController.viewControllers=controllers;
3、将分栏控制器作为window的跟控制器
self.window.rootViewController= tabBarController;
但以上的步骤太繁琐,我们学过for循环,下面说一下我用for循环写的分栏控制器
创建了5个控制器 引用类名放入数组
NSArray *className =@[@"Kworld_NewsViewController",@"Kworld_ReadViewController",@"Kworld_AudioVisualViewController",@"Kworld_DiscoveryViewController",@"Kworld_UserViewController"];
NSMutableArray *controllers =[NSMutableArray array];
for (NSString *name in className) {
UINavigationController *NC =[[UINavigationController alloc]initWithRootViewController:[[NSClassFromString(name) alloc]init]];
NSClassFromString(name) 这个方法可以通过类名找到那个类 所以就可以用for循环来完成分栏控制器的创建了
[controllers addObject:NC];
}
UITabBarController *rootVC =[[UITabBarController alloc]init];
rootVC.viewControllers = controllers;
NSArray *imageList =@[@"新闻",@"阅读",@"视听",@"发现",@"用户"];
for (int i = 0; i
UIViewController *VC=rootVC.viewControllers[i];
VC.tabBarItem.title = imageList[i];
VC.tabBarItem.image = [UIImageimageNamed:imageList[i]];
}
[UINavigationBar appearance].barTintColor =[UIColor redColor];
rootVC.tabBar.tintColor = [UIColorblueColor];
rootVC.selectedIndex = 0;
self.window.rootViewController = rootVC;
我们都是进击的菜牛,所以需要长期的积累以及乐观的心态。哎呀,其实也不算很难,这是一个心理蜕变。加油吧,童鞋们。
网友评论