UIKit框架(13)标签控制器UITabBarController
标签控制器UITabBarController介绍
跟UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ、微信等应用。
底部包含一个UITabBar标签栏,点击标签栏上的按钮实现页面的切换
代码使用UITabBarController
UITabBarController包含一个控制器数组:
@property(nonatomic,copy)NSArray*viewControllers
通过该属性设置管理的所有控制器页面,同时在标签栏上设置对应的切换按钮
如:
UITabBarController*tbc=[[UITabBarControlleralloct]init];self.window.rootViewController=tbc;UIViewController*vc1=[[UIViewControlleralloc]init];vc1.view.backgroundColor=[UIColorredColor];UIViewController*vc2=[[UIViewControlleralloc]init];vc1.view.backgroundColor=[UIColoryelloColor];UIViewController*vc3=[[UIViewControlleralloc]init];vc1.view.backgroundColor=[UIColorblueColor];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)NSUIntegerselectedIndex
storyboard使用UITabBarController
右击UITabBarController为view controllers拖线连接多个子控制器即可。
设置后的子控制器,都有一个tabBar,可以选择自控制器中的tabBarItem进行属性设置
App主流框架说明
App的主流框架:
根控制器是UITabBarController,每个子控制器又是UINavigationController
子控制器如果是导航控制器,使用导航控制器再进行页面切换时,需要隐藏标签栏
通过UIViewController的属性设置这种行为:(目的控制器)
@property(nonatomic)BOOLhidesBottomBarWhenPushed
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。