iOS基础控件-UITabBarController - 2 之UITabBarItem 详解,结合视图控制器和导航控制器的用法
来源:互联网 发布:儿童服装淘宝网 编辑:程序博客网 时间:2024/05/21 08:44
1,每个视图控制器对应一个tabBarItem属性,每个视图控制器可以个性化定制自己的tabBarItem
[tabController setViewControllers:controllers];
self.window.rootViewController= tabController;
[self.windowmakeKeyAndVisible];
return YES;
}
2,各个tabBarItem实例显示在UITabBar实例上。
3,点击不同的tabBarItem,能切换不同的视图控制器显示
4,UITabBar上最多可以显示5个TabBarItem,当向UITabBarController中添加超过5个viewController
的时候,第五个TabBarItem自动变成一个MORE按钮
5,当点击给你更多的时候,会切换到一个导航控制器,此导航控制器为UITabBarController自动生成
的moreNavigationController,里边放有其他未显示的viewController
6,同时右上角会有一个编辑按钮,点击编辑按钮,可以对所有视图控制器的位置进行变更
创建XSViewController1.h到XSViewController6.h 六个UIViewController类
<XSAppDelegate.m>
#import "XSAppDelegate.h"
@implementationXSAppDelegate
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
self.window= [[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];
// Override point for customization after application launch.
self.window.backgroundColor= [UIColorwhiteColor];
XSViewController1*VC1 = [[XSViewController1alloc]init];
UINavigationController*navController = [[UINavigationControlleralloc]initWithRootViewController:VC1];
// //这样赋值后,使用.title属性取不到值
// [navController.tabBarController setTitle:@"界面1"];
//这样赋值后,当当与对tabBarController.title和navigationItem.title同时进行赋值
//使用tabBarItem.title取值,能取到
[navController setTitle:@"界面1"];
//进行图片赋值
[navController.tabBarItemsetImage:[UIImageimageNamed:@"tabbar_account.png"]];
XSViewController2*VC2 = [[XSViewController2alloc]init];
[VC2 setTitle:@"界面2"];
//设置按钮选中和没选中的图片,iOS7不能用这个方法
// [VC2.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"tabbar_appfree_press.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tabbar_appfree.png"]];
XSViewController3*VC3 = [[XSViewController3alloc]init];
[VC3 setTitle:@"界面3"];
//只
[VC3.tabBarItemsetImage:[UIImageimageNamed:@"tabbar_limitfree.png"]];
XSViewController4*VC4 = [[XSViewController4alloc]init];
[VC3 setTitle:@"界面4"];
VC4.tabBarItem.image= [UIImageimageNamed:@"tabbar_limitfree.png"];
//设置微标
VC4.tabBarItem.badgeValue= @"10";
XSViewController5*VC5 = [[XSViewController5alloc]init];
//创建UITabItem的实例
UITabBarItem*item1 = [[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemHistorytag:0];
VC5.tabBarItem= item1;
//通过系统样式的初始化方式,在设置title。image属相,设置无效
VC5.title= @"界面5";
VC5.tabBarItem.image= [UIImageimageNamed:@"tabbar_limitfree.png"];
XSViewController6*VC6 = [[XSViewController6alloc]init];
@implementationXSAppDelegate
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
self.window= [[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];
// Override point for customization after application launch.
self.window.backgroundColor= [UIColorwhiteColor];
XSViewController1*VC1 = [[XSViewController1alloc]init];
UINavigationController*navController = [[UINavigationControlleralloc]initWithRootViewController:VC1];
// //这样赋值后,使用.title属性取不到值
// [navController.tabBarController setTitle:@"界面1"];
//这样赋值后,当当与对tabBarController.title和navigationItem.title同时进行赋值
//使用tabBarItem.title取值,能取到
[navController setTitle:@"界面1"];
//进行图片赋值
[navController.tabBarItemsetImage:[UIImageimageNamed:@"tabbar_account.png"]];
XSViewController2*VC2 = [[XSViewController2alloc]init];
[VC2 setTitle:@"界面2"];
//设置按钮选中和没选中的图片,iOS7不能用这个方法
// [VC2.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"tabbar_appfree_press.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tabbar_appfree.png"]];
XSViewController3*VC3 = [[XSViewController3alloc]init];
[VC3 setTitle:@"界面3"];
//只
[VC3.tabBarItemsetImage:[UIImageimageNamed:@"tabbar_limitfree.png"]];
XSViewController4*VC4 = [[XSViewController4alloc]init];
[VC3 setTitle:@"界面4"];
VC4.tabBarItem.image= [UIImageimageNamed:@"tabbar_limitfree.png"];
//设置微标
VC4.tabBarItem.badgeValue= @"10";
XSViewController5*VC5 = [[XSViewController5alloc]init];
//创建UITabItem的实例
UITabBarItem*item1 = [[UITabBarItemalloc]initWithTabBarSystemItem:UITabBarSystemItemHistorytag:0];
VC5.tabBarItem= item1;
//通过系统样式的初始化方式,在设置title。image属相,设置无效
VC5.title= @"界面5";
VC5.tabBarItem.image= [UIImageimageNamed:@"tabbar_limitfree.png"];
XSViewController6*VC6 = [[XSViewController6alloc]init];
// 确保title值可以被取到
VC6.title= @"界面6";
//通过这种方式进行初始化,效果等同于直接为VC6.tabBarItem.title VC6.tabBarItem.image赋值
UITabBarItem*item2 = [[UITabBarItemalloc]initWithTitle:@"界面6"image:[UIImageimageNamed:@"tabbar_limitfree.png"] tag:1];
VC6.tabBarItem= item2;
NSArray *controllers = [NSArrayarrayWithObjects:navController,VC2,VC3,VC4,VC5,VC6,nil];
UITabBarController*tabController = [[UITabBarControlleralloc]init];
VC6.title= @"界面6";
//通过这种方式进行初始化,效果等同于直接为VC6.tabBarItem.title VC6.tabBarItem.image赋值
UITabBarItem*item2 = [[UITabBarItemalloc]initWithTitle:@"界面6"image:[UIImageimageNamed:@"tabbar_limitfree.png"] tag:1];
VC6.tabBarItem= item2;
NSArray *controllers = [NSArrayarrayWithObjects:navController,VC2,VC3,VC4,VC5,VC6,nil];
UITabBarController*tabController = [[UITabBarControlleralloc]init];
[tabController setViewControllers:controllers];
self.window.rootViewController= tabController;
[self.windowmakeKeyAndVisible];
return YES;
}
0 0
- iOS基础控件-UITabBarController - 2 之UITabBarItem 详解,结合视图控制器和导航控制器的用法
- iOS导航控制器和标签栏控制器的结合
- iOS基础控件-UIViewController,视图控制器
- iOS编程------标签视图控制器-UITabBarController
- Swift之UITabBarController 导航控制器的自定义
- 【iOS开发-30】UITabBarController的几种代理方法以及结合NSUserDefaults还原上次退出时被选中视图控制器和视图控制器的顺序
- iOS开发UITabBarController的几种代理方法以及结合NSUserDefaults还原上次退出时被选中视图控制器和视图控制器的顺序
- 14-2 UITabBarController标签视图控制器、配置UITabBar、自定义UITabBarItem、(UIAppearance)、三大视图控制器的综合使用、AdressBook、(+U
- 导航视图控制器基本概念和用法
- IOS之导航控制器与表视图
- IOS UITableView表视图和导航控制器的交互使用
- 导航控制器和tabBar控制器title的设置(UITabBarItem 和 UINavigationBarItem 的title)
- IOS开发(11)之UITabBarController多视图控制器
- iOS基础控件-导航栏控制器UINavigationController的UINavigationBar导航条
- IOS-导航视图控制器的使用
- 窗口,视图,视图控制器和UIKit基础-IOS开发
- 控制器跳转和视图切换之NavigationController,UITabBarController,模态
- 控制器跳转和视图切换之NavigationController,UITabBarController,模态
- 机器视觉界的大师
- 代码——重新登录
- JavaScript中的时间操作
- 先实践起来再说别的
- 总结之排序
- iOS基础控件-UITabBarController - 2 之UITabBarItem 详解,结合视图控制器和导航控制器的用法
- JavaScript 核心参考教程 内置对象
- Hadoop 常用命令
- 解决NDK开发中的 Method 'NewStringUTF' could not be resolved
- 嵌入式linux自动挂载U盘
- Android里scroll嵌套google map
- eXtremeDB-STAC测试1
- 计算机视觉领域
- Maven安装配置