UIKit框架(13)标签控制器UITabBarController

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIKit框架(13)标签控制器UITabBarController相关的知识,希望对你有一定的参考价值。

  • 标签控制器UITabBarController介绍

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

     技术分享

     底部包含一个UITabBar标签栏,点击标签栏上的按钮实现页面的切换



  • 代码使用UITabBarController

UITabBarController包含一个控制器数组:

@property(nonatomic, copy) NSArray *viewControllers

     通过该属性设置管理的所有控制器页面,同时在标签栏上设置对应的切换按钮

     如:

UITabBarController * tbc = [[UITabBarController alloct] init];
self.window.rootViewController = tbc;

UIViewController * vc1 = [[UIViewController alloc] init];
vc1.view.backgroundColor = [UIColor redColor];
UIViewController * vc2 = [[UIViewController alloc] init];
vc1.view.backgroundColor = [UIColor yelloColor];
UIViewController * vc3 = [[UIViewController alloc] init];
vc1.view.backgroundColor = [UIColor blueColor];

tbc.viewControllers = @[vc1, vc2, vc3];


UITabBarController包含一个标签栏UITabBar:

@property(nonatomic, readonly) UITabBar *tabBar

和导航控制器类似,标签控制器包含数据条目数组:

@property(nonatomic, copy) NSArray *items

     条目为UITabBarItem

@property(nonatomic, retain) UITabBarItem *tabBarItem

    UITabBarItem的属性有:

@property(nonatomic, retain) UIImage *image
@property(nonatomic, copy) NSString *title
@property(nonatomic, retain) UIImage *selectedImage
@property(nonatomic, copy) NSString *badgeValue


UIViewController的tabBarController属性能够访问所属的标签控制器:

@property(nonatomic, readonly, retain) UITabBarController *tabBarController


控制器页面的切换方式:

1)用户触摸标签栏上对应切换按钮,能够自动切换到对应的控制器页面

2)也可以通过UITabBarController的selectedIndex进行切换

@property(nonatomic) NSUInteger selectedIndex


  • storyboard使用UITabBarController

     技术分享

右击UITabBarController为view controllers拖线连接多个子控制器即可。

     技术分享

设置后的子控制器,都有一个tabBar,可以选择自控制器中的tabBarItem进行属性设置

    技术分享


  • App主流框架说明

App的主流框架:

     根控制器是UITabBarController,每个子控制器又是UINavigationController

    技术分享


     子控制器如果是导航控制器,使用导航控制器再进行页面切换时,需要隐藏标签栏

     通过UIViewController的属性设置这种行为:(目的控制器)

@property(nonatomic) BOOL hidesBottomBarWhenPushed




本文出自 “teacherAn” 博客,请务必保留此出处http://annmeng.blog.51cto.com/3321237/1746046

以上是关于UIKit框架(13)标签控制器UITabBarController的主要内容,如果未能解决你的问题,请参考以下文章

UIKit框架控制器的创建

UIKit框架控制器view的加载方式

UIKit框架(10)自定义modal过渡效果

UIKit框架(22)UITableView之静态单元格

UIKit框架(11)导航控制器UINavigationController

iOS UIKit框架