2015-03-19之UITabBarController简单介绍

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

切记给UItabbarItem指定图片时,图片的高度不能大于49,由于UItabbarItem的高度最多为49,大于会显示错误的效果。

二、UITabBarController的使用

1.使用步骤:

(1)初始化UITabBarController

(2)设置UIWindow的rootViewController为UITabBarController

(3)创建相应的子控制器(viewcontroller)

(4)把子控制器添加到UITabBarController

2.代码示例

新建一个空的文件,在Application的代理中编码

YYAppDelegate.m文件

//  Created by fly on 15/3/19.
//  Copyright (c) 2015年 com.fenda. All rights reserved.
//

#import "AppDelegate.h"

@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
   
    //1.创建Window
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
   self.window.backgroundColor = [UIColor whiteColor];
  
      //a.初始化一个tabBar控制器
       UITabBarController *tb=[[UITabBarController alloc]init];
    //调整TabBar显示的位置
//    tb.tabBar.frame = CGRectMake(0, 460-40, 320, 40);
//    UIView * transitionView = [[tb.view subviews] objectAtIndex:0];
//    [transitionView setFrame:CGRectMake(0, 0, 320, 460-40)];
         //设置控制器为Window的根控制器
        self.window.rootViewController=tb;
  
       //b.创建子控制器
         UIViewController *c1=[[UIViewController alloc]init];
         c1.view.backgroundColor=[UIColor grayColor];
         c1.view.backgroundColor=[UIColor greenColor];
        [email protected]"消息";
        c1.tabBarItem.image=[[UIImage imageNamed:@"tabBar"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
        c1.tabBarItem.selectedImage = [[UIImage imageNamed:@"tabSelect"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
         [email protected]"123";
   
        UIViewController *c2=[[UIViewController alloc]init];
         c2.view.backgroundColor=[UIColor brownColor];
         [email protected]"联系人";
        c2.tabBarItem.image=[[UIImage imageNamed:@"tabBar"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
        c2.tabBarItem.selectedImage = [[UIImage imageNamed:@"tabSelect"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
  
        UIViewController *c3=[[UIViewController alloc]init];
         [email protected]"动态";
        c3.tabBarItem.image=[[UIImage imageNamed:@"tabBar"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
        c3.tabBarItem.selectedImage = [[UIImage imageNamed:@"tabSelect"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
   
         UIViewController *c4=[[UIViewController alloc]init];
         [email protected]"设置";
        c4.tabBarItem.image=[[UIImage imageNamed:@"tabBar"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
        c4.tabBarItem.selectedImage = [[UIImage imageNamed:@"tabSelect"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
   
  
         //c.添加子控制器到ITabBarController中
        //c.1第一种方式
    //    [tb addChildViewController:c1];
    //    [tb addChildViewController:c2];
  
         //c.2第二种方式
         [email protected][c1,c2,c3,c4];
         //2.设置Window为主窗口并显示出来
        [self.window makeKeyAndVisible];
   
    return YES;
}

实现效果:

三、重要说明

1.UITabBar

下方的工具条称为UITabBar ,如果UITabBarController有N个子控制器,那么UITabBar内部就会有N 个UITabBarButton作为子控件与之对应。

注意:UITabBarButton在UITabBar中得位置是均分的,UITabBar的高度为49。

在上面的程序中,UITabBarController有4个子控制器,所以UITabBar中有4个UITabBarButton,UITabBar的结构?大致如下图所示:

2.UITabBarButton

UITabBarButton?面显?什么内容,由对应子控制器的tabBarItem属性来决定

 [email protected]"消息";
 c1.tabBarItem.image=[UIImage imageNamed:@"tab_recent_nor"];

3.有两种方式可以往UITabBarController中添加子控制器

(1)[tb addChildViewController:c1];

(2)[email protected][c1,c2,c3,c4];

注意:展示的顺序和添加的顺序一致,和导航控制器中不同,展现在眼前的是第一个添加的控制器对应的View。

时间: 2024-08-29 05:48:16

2015-03-19之UITabBarController简单介绍的相关文章

转 UITabBarController简单介绍

文顶顶 iOS开发UI篇—UITabBarController简单介绍 iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ.微信等应?. 二.UITabBarController的使用 1.使用步骤: (1)初始化UITabBarController (2)设置UIWindo

[BS-09] UITabBarController简单介绍

iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ.微信等应?. 二.UITabBarController的使用 1.使用步骤: (1)初始化UITabBarController (2)设置UIWindow的rootViewController为UITabBarControl

UI进阶--UITabBarController简单介绍

UITabBarController跟UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是QQ.微信等应用.UITabBarController简单介绍中也有说过,为了便于管理控制器,iOS提供了2个比较特殊的控制器:UITabBarController控制器以及UINavigationController控制器. UITabBarController添加控制器的方式有2种: 添加单个子控制器:

UITabBarController简单介绍

转自:http://www.cnblogs.com/wendingding/p/3775488.html 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ.微信等应?. 二.UITabBarController的使用 1.使用步骤: (1)初始化UITabBarController (2)设置UIWindow的rootViewContr

iOS开发UI篇—UITabBarController简单介绍

一.简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ.微信等应?. 二.UITabBarController的使用 1.使用步骤: (1)初始化UITabBarController (2)设置UIWindow的rootViewController为UITabBarController (3)创建相应的子控制器(viewcontroller)

iOS开发UI篇—UITableBarController简单介绍

iOS开发UI篇-UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ.微信等应?. 二.UITabBarController的使用 1.使用步骤: (1)初始化UITabBarController (2)设置UIWindow的rootViewController为UITabBarControl

VBox虚拟机与主机(宿主)通讯原理以及socat(套接字猫)简单介绍

前言 尝试虚拟机使用socat建立服务器端接口转发时,发现对虚拟机接入网络原理不是非常了解,于是乎上网查找资料想搞明白是怎么回事,于是乎有了这篇总结博文.socat可以在服务器端口间建立全双工通信通道,可以用于端口数据转发,据说是Linux/Unix系统三大神器之一. 虚拟机虚拟网卡连接模式 1.桥接模式 直接将虚拟网卡桥接在物理网卡上,虚拟机与主机地位对等,相当于局域网新增加了一台机器,虚拟机分配的IP是局域网真实的IP地址,主机与虚拟机以及局域网其它主机与虚拟机可以互相访问 2.仅主机(ho

iOS开发UI篇—多控制器和导航控制器简单介绍

iOS开发UI篇—多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小view,控制器也是如此,用1个控制器去管理其他多个控制器 比如,用一个控制器A去管理3个控制器B.C.D.控制器A被称为控制器B.C.D的“父控制器”:控制器B.C.D的被称为控制器A的“子控制器” 为了便于管理控制器,iOS提供了2个比较特殊的控

Objective-C学习-UITabBarController的介绍

一.简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ.微信等应?. 二.UITabBarController的使用 1.使用步骤: (1)初始化UITabBarController (2)设置UIWindow的rootViewController为UITabBarController (3)创建相应的子控制器(viewcontroller)