UITabBarController 标签栏控制器

接上篇导航控制器UINavigationController 


接下来是UITabBarController 标签栏控制器

 

先来看一下UITabBarController的结构

 

 

从图上可以看出控制器分为两部分,一部分是用户自定义内容Customcontent

另一部分为标签栏Tab bar.

另外看途中标签栏内有四个标签,每一个标签都控制着一个视图控制器

 

一、UITabBarController遵守的协议

UITabBarControllerDelegate

@property(nonatomic,assign)

id<UITabBarControllerDelegate>delegate

 

创建初始化类后会自动生成一个委托对象,用于调动自身

 

二、      实例方法

- (void)setViewControllers:(NSArray*)viewControllersanimated:(BOOL)animated

设置标签栏中的内容,可以看到参数是一个由视图控制器组成的数组,设置成功后数组中的第一个元素会在标签栏中最左端的位置上,第二个元素就紧挨这第一个元素右边,以此类推。

有一点是当你的标签栏中原本已经存在一些元素,在使用这个方法时,标签栏中的元素全部都要移除,然后加载新元素。

 

三、标签栏的一些特点

1、标签栏默认的只能最多有五个标签,当你设置的元素超过五个,这时前四个标签还是按顺序排列,但是第五个标签会变成“…”这样一个按钮,这个按钮包含这你剩下的元素

2、另外看下面一段话

You can use navigation controllers or custom view controllersas the root view controller for a tab. If the root view controller is a navigationcontroller, the tab bar controller makes further adjustments to the size of thedisplayed navigation content so that it does not overlap the tab bar.

意思就是你也可以用导航控制器作为标签栏的一个标签,便签栏会为导航控制器创造足够的空间来展示控制视图。


写给自己,如有错误请指正,共同学习。—— LC

 

原文地址:https://www.cnblogs.com/fuhaots2009/p/3469128.html