UITabBarController简单介绍:
1.UITabBarController这种控件,主要用于管理多个控制器,例如微信,QQ等App的最下面的导航栏。现下较为常用的iOS控件之一。
2.UITabBarController的使用
初始化UITabBarController
设置UIWindow的rootViewController为UITabBarController
创建相应的子控制器(viewcontroller)
把子控制器添加到UITabBarController
AppDelegate.m
引入头文件
#import "AppDelegate.h"
#import "OneViewController.h"
#import "ThreeViewController.h"
#import "TwoViewController.h"
#import "FiveViewController.h"
#import "FourViewController.h"
#import "SevenViewController.h"
#import "SixViewController.h"
@interfaceAppDelegate ()<UITabBarControllerDelegate>
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];
[self.windowmakeKeyAndVisible];
self.window.backgroundColor = [UIColor whiteColor];
[_windowrelease];
//UITabBarController的使用
UITabBarController *barVC = [[UITabBarControlleralloc]init];
//指定为根视图控制器
self.window.rootViewController = barVC;
//条的颜色
barVC.tabBar.barTintColor = [UIColorblackColor];
//点击字的颜色
barVC.tabBar.tintColor = [UIColoryellowColor];
//指定代理
barVC.delegate =self;
[barVCrelease];
//给tabbar的viewcontrollers属性赋值
OneViewController *oneVC = [[OneViewControlleralloc]init];
//oneVC.title = @"red";
//利用系统的图标设置tabbar显示内容(系统的,全套)
oneVC.tabBarItem = [[[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemBookmarkstag:100]autorelease];
//小红点
oneVC.tabBarItem.badgeValue =@"99+";
TwoViewController *twoVC = [[TwoViewControlleralloc]init];
//twoVC.title = @"orange";
//自己设置图片~的方法,
// //产生一个图片
// UIImage *iamge = [UIImage imageNamed:@"8.jpg"];
//
// iamge = [iamge imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
// twoVC.tabBarItem = [[UITabBarItem alloc]initWithTitle:@"sa" image:iamge tag:103];
// twoVC.tabBarItem.badgeValue = @"99+";
//自己设置图标
// twoVC.tabBarItem = [[[UITabBarItem alloc]initWithTitle:@"热狗" image:[UIImage imageNamed:@"iconfont-regou.png" ]tag:101] autorelease];
twoVC.tabBarItem = [[[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemFavoritestag:101]autorelease];
ThreeViewController *threeVC = [[ThreeViewControlleralloc]init];
threeVC.tabBarItem = [[[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemHistorytag:102]autorelease];
FourViewController *fourVC = [[FourViewControlleralloc]init];
fourVC.tabBarItem = [[[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemDownloadstag:103]autorelease];
FiveViewController *fiveVC = [[FiveViewControlleralloc]init];
fiveVC.title =@"cyan";
SixViewController *sixVC = [[SixViewControlleralloc]init];
sixVC.title =@"blue";
SevenViewController *sevenVC = [[SevenViewControlleralloc]init];
sevenVC.title =@"puerpo";
UINavigationController *navaVC = [[UINavigationControlleralloc]initWithRootViewController:oneVC];
//创建一个装好了若干试图控制器的数组
NSArray *arr = [NSArrayarrayWithObjects:navaVC,twoVC,threeVC,fourVC,fiveVC,sixVC,sevenVC,nil];
[oneVCrelease];
[twoVCrelease];
[threeVCrelease];
[fiveVCrelease];
[fourVCrelease];
[sixVCrelease];
[sevenVCrelease];
//赋值
barVC.viewControllers = arr;
returnYES;
}
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
//判断一个对象是否是某个类创建的
// if ([viewController isKindOfClass:[OneViewController class]]) {
// NSLog(@"点击第一个");
//
// }
//或者这个方法
if (tabBarController.selectedIndex ==0) {
NSLog(@"-----");
}
//去掉第二个页面的红点,badgevalue
if (tabBarController.selectedIndex ==1) {
NSLog(@"0000");
viewController.tabBarItem.badgeValue =nil;//点击哪个页面,哪个页面的小红点去掉
}
}
- (void)dealloc
{
[_windowrelease];
[superdealloc];
}