关于这个界面的实现,是在AppDelegate.m中进行。
创建了5个类,“微信”,“通讯录”,“发现”,“我”,分别继承UIViewController.每个只是在.m中进行了设置颜色的操作。
下面我们看AppDelegate.m中的操作:
第一步:(引入头文件)
第二步:
第三步:
第四步:
设置代理,实现的方法有:
#pragma mark---------------UITabBarControllerDelegate
//将要选择的Controller
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
NSLog(@"%s %d",__FUNCTION__,__LINE__);
return YES;
}
//点击的是哪个Controller
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
//当点击时小圆点会消失(点击取消标记)
viewController.tabBarItem.badgeValue = nil;
NSLog(@"%@",viewController);
NSLog(@"%s %d",__FUNCTION__,__LINE__);
}
需要注意的是:
当TabBarController管理超过5个视图控制器的时候,系统会自动增加一个More标签,管理第五个和5个以上的视图控制器。没有出现在底部的视图控制器会议列表的形式通过点击More展现出来。如图所示:
discoverVC.tabBarItem.badgeValue = @"17";这一句实现的是”发现“这一功能上有17个未看内容。当点击是会消失,是如何实现?
//当点击时小圆点会消失(点击取消标记)
viewController.tabBarItem.badgeValue = nil;