iOS之UI--UITabBarController

前言:跟UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是QQ、微信等应用。

iOS之UI--UITabBarController

UITabBarController的使用步骤:

  初始化UITabBarController

  设置UIWindow的rootViewController为UITabBarController

  根据具体情况,通过addChildViewController方法添加对应个数的子控制器

接着上代码:

  在AppDelegate.m文件的的第一个方法中敲一下代码(小贴士:对于代码的阅读莫过于打开XCode再不看源码快速敲出来然后对比学习哦!不要只是看看而已):

iOS之UI--UITabBarController
 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 2  3 //AppDelegate有一个window对象的引用,所以需要传递一个具体实例对象  4 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
 5 //创建一个UITabBarController对象  6 UITabBarController* tabbarVC = [[UITabBarController alloc] init];
 7 //将UITabBarController对象设置为self.window的根控制器  8 self.window.rootViewController = tabbarVC;
 9 //最后,让self.window显示出来 10  [self.window makeKeyAndVisible];
11 12 return YES;
13 }
iOS之UI--UITabBarController

运行的效果(为了节省视觉空间,我故意设置为横屏):

iOS之UI--UITabBarController

接着再上代码:

 OneViewController* oneVC = [[OneViewController alloc] init];
 [tabbarVC addChildViewController:oneVC];

tabbarVC是前面创建的UITabBarController对象,UITabBarController对象可以添加多个ViewController对象

然后UITabBarController当中有多少个子控制器,UITabBar当中就会有多少个按钮,按钮的宽度是平分。

比如如果按照前面的代码,添加了两个不同的ViewController对象,点击UITabBar平分的两块区域会出现不同的节目

iOS之UI--UITabBarController

另外再学一个代码:

 //设置启动界面后开始默认选中哪一个按钮的角标,要在添加完子控制器之后才能够有效果
 tabbarVC.selectedIndex = 2;

最后为TabBar设置每一个title和image:

iOS之UI--UITabBarController

最后的效果就完成了:

iOS之UI--UITabBarController