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

  • 标签控制器UITabBarController介绍

    成都创新互联主营花山网站建设的网络公司,主营网站建设方案,手机APP定制开发,花山h5微信小程序搭建,花山网站营销推广欢迎花山等地区企业咨询

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

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

     底部包含一个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 *p_w_picpath
@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

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

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

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

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

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

  • App主流框架说明

App的主流框架:

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

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

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

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

@property(nonatomic) BOOL hidesBottomBarWhenPushed


文章名称:UIKit框架(13)标签控制器UITabBarController
路径分享:http://azwzsj.com/article/jhcdgj.html