首先自定义一个继承自UITabBarController的类,设置其viewControllers数组属性,即添加相应的视图,继承自UITabBarController的子类本身不显示内容,只作为一个容器。
@property(nonatomic, copy) NSArray <__kindof UIViewController *> *viewControllers
1. 设置上面的属性设置要管理的试图控制器
- (void)setViewControllers:(NSArray<__kindofUIViewController *> *)viewControllers
animated:(BOOL)
animated
2. 调用上面的方法用于更新视图控制器项
@property(nonatomic, copy) NSArray *customizableViewControllers
3.
可被定制的视图控制器集合,如上图中超过5个视图控制器则会放到“More”中显示,默认用户可修改视图控制器,设置该属性为nil则不能修改,这
里的修改指的是移动顺序
@property(nonatomic, assign) __kindof UIViewController *selectedViewController
4. 当前显示的视图控制器项,可用来获取或设置当前显示的视图控制器
@property(nonatomic) NSUInteger selectedIndex
5.当前显示的视图控制器的序号,跟viewControllers属性的顺序对应
若要使用如下的方法需遵守UITabBarControllerDelegate协议。
其他重要的属性和方法有:
//判定某个viewController可不可以被选中,可利用viewController的title来区分
- (BOOL)tabBarController:(UITabBarController *)tabBarController
shouldSelectViewController:(UIViewController *)viewController
//选中某个viewController后调用
- (void)tabBarController:(UITabBarController *)tabBarController
didSelectViewController:(UIViewController *)viewController
//设置具体item右上角的内容
设置tabBarItem属性的badgeValue属性。
先记录这些,以后再补充。