/tabBarItem是属于每一个试图控制器的
ViewController1 * VC1=[[ViewController1alloc]init];
UINavigationController *nav1=[[UINavigationController alloc]initWithRootViewController:VC1];
VC1.title=@"首页";//设置导航栏标题,标签栏默认也会自动生成
VC1.tabBarItem=[[UITabBarItemalloc]initWithTabBarSystemItem:1 tag:1];//设置标签栏的系统样式
VC2.tabBarItem.image=[UIImageimageNamed:@"tab_1"];//设置标签栏的背景图片
VC3.tabBarItem=[[UITabBarItemalloc]initWithTitle:@"分类" image:[UIImageimageNamed:@"tab_2"] selectedImage:[UIImageimageNamed:@"tab_s"]];//设置标签栏标题,如果有导航栏默认也会带上,同时设置点击时的图片和非点击时的图片
VC4.tabBarItem.badgeValue=@"2";//设置标记为2个消息
//标签栏控制器 继承于UIViewController 用来管理平级的试图控制器的组件
UITabBarController *tabBar =[[UITabBarController alloc]init];
tabBar.tabBar.barStyle = UIBarStyleBlack;//设置tabBar的风格
tabBar.tabBar.barTintColor = [UIColorredColor];//设置背景颜色
tabBar.tabBar.backgroundImage = [UIImageimageNamed:@""];//设置背景图片
tabBar.tabBar.hidden = YES; //隐藏tabBar
//viewControllers 用来存储管理的试图控制器
//数组中元素的顺序就是在tabBar上从左到右的顺序
tabBar.viewControllers =@[nav1,nav2,VC3,nav4,nav5,nav6];
//如果viewControllers里面超过5个元素,第五个试图控制器会变成more界面,剩余的会在这个界面里
//首先引入代理协议<UITabBarControllerDelegate>
tabBar.delegate=self;
tabBar.selectedViewController=nav3;
tabBar.selectedIndex=2;//设置一进入页面的第一个视图是第三个视图
-(void)tabBarController:(UITabBarController*)tabBarController didSelectViewController:(UIViewController *)viewController
{
NSLog(@"%@",viewController.title);//打印所有点击到的标签栏的名称
NSArray *array=tabBarController.viewControllers;
if (viewController==array[3]) {
viewController.tabBarItem.badgeValue=@“0”;//当点击到第四个视图时,将标记设为0
}
}
-(void)tabBarController:(UITabBarController*)tabBarController willBeginCustomizingViewControllers:(NSArray*)viewControllers
{
NSLog(@"开始编辑");
}
-(void)tabBarController:(UITabBarController*)tabBarController willEndCustomizingViewControllers:(NSArray *)viewControllerschanged:(BOOL)changed
{
NSLog(@"编辑结束");
}
-(void)tabBarController:(UITabBarController*)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllerschanged:(BOOL)changed
{
if (changed==YES) {
NSLog(@"改变了viewController的顺序");
}else
{
NSLog(@"没有改变");
}
}
//点击空白收起键盘
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event{
[self.view endEditing:YES];
}
首先引入代理<UITextFieldDelegate>
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
//点击return收起键盘
[textField resignFirstResponder];
return YES;
}