前言:跟UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是QQ、微信等应用。
UITabBarController的使用步骤:
初始化UITabBarController
设置UIWindow的rootViewController为UITabBarController
根据具体情况,通过addChildViewController方法添加对应个数的子控制器
接着上代码:
在AppDelegate.m文件的的第一个方法中敲一下代码(小贴士:对于代码的阅读莫过于打开XCode再不看源码快速敲出来然后对比学习哦!不要只是看看而已):
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 }
运行的效果(为了节省视觉空间,我故意设置为横屏):
接着再上代码:
OneViewController* oneVC = [[OneViewController alloc] init]; [tabbarVC addChildViewController:oneVC];
tabbarVC是前面创建的UITabBarController对象,UITabBarController对象可以添加多个ViewController对象
然后UITabBarController当中有多少个子控制器,UITabBar当中就会有多少个按钮,按钮的宽度是平分。
比如如果按照前面的代码,添加了两个不同的ViewController对象,点击UITabBar平分的两块区域会出现不同的节目
另外再学一个代码:
//设置启动界面后开始默认选中哪一个按钮的角标,要在添加完子控制器之后才能够有效果 tabbarVC.selectedIndex = 2;
最后为TabBar设置每一个title和image:
最后的效果就完成了:
时间: 2024-09-10 08:48:38