UITabBarController的使用

Posted on 2016-07-01 22:37  柠檬片  阅读(84)  评论(0)    收藏  举报

1. 多控制器管理可以通过UINavigationController管理, 也可以通过UITabBarController管理。

 

        2. UINavigationController(导航控制器)、 UITabBarController(选项卡控制器)

 

        ** 目标: 通过UITabBarController实现多控制器管理。

 

        3. UITabBarController控制器的基本使用步骤:

            1> 创建UITabBarController对象。

                UITabBarController *tabBar = [[UITabBarController alloc] init];

 

            2> 设置UIWindow的rootViewController为UITabBarController。

                self.window.rootViewController = tabBar;

 

            3> 通过addChildViewController方法添加对应的自控制器。

                [tabBar addChildViewController:vwCtrler];

 

            4> 通过新建一个"空项目"来演示纯代码的方式来使用UITabBarController。

 

            /**

                参考代码:

             

             - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

                 // Override point for customization after application launch.

             

                 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

                 

                 //2.创建UITabBarController

                 UITabBarController * tabVC = [[UITabBarController alloc] init];

                 

                 //设置背景颜色

                 tabVC.view.backgroundColor = [UIColor redColor];

                 

                 

                 //创建第一个子控制器

                 OneViewController * one = [[OneViewController alloc] init];

                 

                 //设置标题

                 one.tabBarItem.title = @"老大";

                 //设置图片

                 one.tabBarItem.image = [UIImage imageNamed:@"navigationbar_friendsearch"];

                 //设置徽章

                 one.tabBarItem.badgeValue = @"10";

                 //添加子控制器

                 

                 [tabVC addChildViewController:one];

                 

                 

                 

                 //创建第二个子控制器

                 TwoViewController * two = [[TwoViewController alloc] init];

                 two.tabBarItem.title = @"老二";

                 //添加子控制器

                 [tabVC addChildViewController:two];

                 

                 //创建第三个子控制器

                 

                 ThreeViewController * three = [[ThreeViewController alloc] init];

                 three.tabBarItem.title = @"小三";

                 //添加子控制器

                 [tabVC addChildViewController:three];

                 

                 

                 

                 //3.把刚刚创建的控制器设置给窗口的根控制器

                 self.window.rootViewController = tabVC;

                 

                 return YES;

             }

             */

 

        4. 介绍TabBarController的View结构。

            ** 提示: 导航控制器的导航栏的高度是44。UITabBarController的TabBar的高度是49。

 

        5. TabBarController的viewControllers数组属性。

            * 这个属性中包含了所有添加到TabBarController中的子视图。

 

        6. TabBarController如何进行不同子视图之间的切换?

            ** 注意: 当切换的时候, 是把旧的View从父控件中移除(没有销毁), 然后将新的View添加进来。

            ** 注意:在UITabBarController中的那些控制器, 当切换的时候是不会销毁的,只是暂时不显示了。

 

 

        7. 如果UITabBarController有N个子控制器, 那么UITabBar内部就就会有N个UITabBarButton作为子控件。

            * UITabBarButton里面显示什么内容, 由对应的自控制器的tabBarItem决定。

 

            * 注意, 控制器的tabBarItem不需要重新创建对象, 直接设置内容即可。

 

            * UITabBarItem的常用属性:

                * title, 标题文字

 

                * image, 图片

 

                * selectedImage, 选中时显示的图片(如果不提供选中图片, 那么默认选中时就是"蓝色"图片。).

 

                * badgeValue, 提醒数字

 

            * 补充: UITabBarController中的那个默认的View(最底部), 就是UITabBar。

 

        8. 通过storyboard使用UITabBarController。