iOS结合导航控制器和标签栏控制器
<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="objc">- (void)initTabBar
{
// 初始化主页
HomePageViewController *homePage = [[HomePageViewController alloc]init];
UINavigationController *homePageNav = [[UINavigationController alloc]initWithRootViewController:homePage]; // 推断是否存在用户存储的城市
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
if (![userDefault objectForKey:@"cityDic"]) {
CitySelectionViewController *citySelection = [[CitySelectionViewController alloc]init];
[homePageNav pushViewController:citySelection animated:YES];
}
// 设置主页-TabBar
UITabBarItem *itemHomePage= [[UITabBarItem alloc] initWithTitle:@"首页" image:[UIImage imageWithImage:[UIImage imageNamed:@"1-1.png"] scaledToSize:CGSizeMake(25, 25)] tag:0];
[itemHomePage setFinishedSelectedImage:[UIImage imageWithImage:[UIImage imageNamed:@"1-1.jpg"] scaledToSize:CGSizeMake(25, 25)] withFinishedUnselectedImage:[UIImage imageWithImage:[UIImage imageNamed:@"1-2.jpg"] scaledToSize:CGSizeMake(25, 25)]];
homePageNav.tabBarItem=itemHomePage;
[itemHomePage setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:NAVBACKGROUNDCOLOR,UITextAttributeTextColor, nil] forState:UIControlStateSelected]; if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO([NSString stringWithFormat:@"7.0"])) {
[homePageNav.navigationBar setBarTintColor:NAVBACKGROUNDCOLOR];
}else
{
[homePageNav.navigationBar setTintColor:NAVBACKGROUNDCOLOR];
}
homePageNav.navigationBar.translucent = NO; // 初始化我的购物车
ShoppingCartViewController *shoppingCart = [[ShoppingCartViewController alloc]init];
UINavigationController *shoppingCartNav = [[UINavigationController alloc]initWithRootViewController:shoppingCart]; // 设置购物车-TabBar
UITabBarItem *itemShoppingCart= [[UITabBarItem alloc] initWithTitle:@"我的购物车" image:[UIImage imageWithImage:[UIImage imageNamed:@"1-1.png"] scaledToSize:CGSizeMake(25, 25)] tag:0];
[itemShoppingCart setFinishedSelectedImage:[UIImage imageWithImage:[UIImage imageNamed:@"1-1.jpg"] scaledToSize:CGSizeMake(25, 25)] withFinishedUnselectedImage:[UIImage imageWithImage:[UIImage imageNamed:@"1-2.jpg"] scaledToSize:CGSizeMake(25, 25)]];
shoppingCartNav.tabBarItem=itemShoppingCart;
[itemShoppingCart setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:NAVBACKGROUNDCOLOR,UITextAttributeTextColor, nil] forState:UIControlStateSelected]; if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO([NSString stringWithFormat:@"7.0"])) {
[shoppingCartNav.navigationBar setBarTintColor:NAVBACKGROUNDCOLOR];
}else
{
[shoppingCartNav.navigationBar setTintColor:NAVBACKGROUNDCOLOR];
}
shoppingCartNav.navigationBar.translucent = NO; // 初始化我的汇众
IndividualCenterViewController *individualCenter = [[IndividualCenterViewController alloc]init];
UINavigationController *individualCenterNav = [[UINavigationController alloc]initWithRootViewController:individualCenter]; // 设置汇众-TabBar
UITabBarItem *itemindividualCenter= [[UITabBarItem alloc] initWithTitle:@"我的幸福家" image:[UIImage imageWithImage:[UIImage imageNamed:@"1-1.png"] scaledToSize:CGSizeMake(25, 25)] tag:0];
[itemindividualCenter setFinishedSelectedImage:[UIImage imageWithImage:[UIImage imageNamed:@"1-1.jpg"] scaledToSize:CGSizeMake(25, 25)] withFinishedUnselectedImage:[UIImage imageWithImage:[UIImage imageNamed:@"1-2.jpg"] scaledToSize:CGSizeMake(25, 25)]];
individualCenterNav.tabBarItem=itemindividualCenter;
[itemindividualCenter setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:NAVBACKGROUNDCOLOR,UITextAttributeTextColor, nil] forState:UIControlStateSelected]; if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO([NSString stringWithFormat:@"7.0"])) {
[individualCenterNav.navigationBar setBarTintColor:NAVBACKGROUNDCOLOR];
}else
{
[individualCenterNav.navigationBar setTintColor:NAVBACKGROUNDCOLOR];
}
individualCenterNav.navigationBar.translucent = NO; self.tabBar = [[UITabBarController alloc] init];
[[UITabBar appearance] setBackgroundImage:[UIImage setBackgroundImageByColor:COLOR(255, 255, 255, 1) withFrame:RectWithPara(0, 0, SCREEN_WIDTH, 44)]]; // 设置UITabBar背景图片
[[UITabBar appearance] setSelectionIndicatorImage:
[UIImage imageWithTint:COLOR(235, 235, 235, 1)]];
self.tabBar.viewControllers = [NSArray arrayWithObjects:homePageNav,shoppingCartNav,individualCenterNav, nil];
}
<span style="font-family: Arial, Helvetica, sans-serif;">在程序启动时设置根控制器为 tabbar,例如以下</span>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions
{
self.window = [[UIWindow
alloc] initWithFrame:[[UIScreen
mainScreen] bounds]];
[self
initTabBar];
self.window.rootViewController =
self.tabBar;
self.window.backgroundColor = [UIColor
whiteColor];
[self.window
makeKeyAndVisible];
return
YES;
}
版权声明:本文博主原创文章。博客,未经同意不得转载。
iOS结合导航控制器和标签栏控制器的更多相关文章
- 导航栏控制器和标签栏控制器(UINavigationController和UITabBarController)混用
很多时候,在UI设计方面同时需要使用导航控制器和标签栏控制器,这时,需要掌握如何设计结合使用这两种不同控制器.比如手机QQ,程序有三个标签 栏(分别为消息.联系人.动态),同时在选择某个联系人或者会话 ...
- iOS:给标签栏控制器的UITabbarItem添加点击动效
一.介绍 现在很多app,附带很炫的点击效果,让用户享受到非常棒的体验,例如动画.渐变.音效等. 当然,市面上大多数app的标签栏点击还是挺中规中矩的,只是切换图片而已.然而,这个是可以优化的,附带点 ...
- IOS之导航控制器
UINavigationController是用于构建分层应用程序的主要工具,主要采用栈形式来实现视图.任何类型的视图控制器都可放入栈中.在设计导航控制器时需要指定根视图即用户看到的第一个视图.根视图 ...
- iOS:切换视图的第三种方式:UITabBarController标签栏控制器
UITabBarController:标签栏控制器 •通过设置viewControllers属性或者addChildViewController方法可以添加子控制器 –NSArray *viewCon ...
- IOS开发之视图和视图控制器
视图(View), 视图控制器(ViewController)是IOS开发UI部分比较重要的东西.在学习视图这一块的东西的时候,感觉和Java Swing中的Panel差不多.在UIKit框架中都有一 ...
- 标签栏控制器(UITabBarController)
一.标签栏控制器基础 1.绪论 a.一个标签栏是一个独立的界面对象,它经常与一个视图控制器(UITabBarController是UIViewController的子类)一起使用. b.一个标签栏项目 ...
- iOS:自定义工具栏、导航栏、标签栏
工具栏为UIToolBar,导航栏UINavigationBar,标签栏UITabBar.它们的样式基本上时差不多的,唯一的一点区别就是,工具栏一般需要自己去创建,然后添加到视图中,而导航栏和标签栏不 ...
- UITabBarController 标签栏控制器
接上篇导航控制器UINavigationController 接下来是UITabBarController 标签栏控制器 先来看一下UITabBarController的结构 从图上可以看出控制器分为 ...
- iOS: 状态栏、导航栏、标签栏、工具栏
三种项目栏总结: 工具栏:UIToolBar 导航栏:UINavigationBar 标签栏:UITabBar UIToolBar的按钮单元为:UIBarButtonItem UINavigati ...
随机推荐
- YUV格式具体解释
YUV是指亮度參量和色度參量分开表示的像素格式,而这样分开的优点就是不但能够避免相互干扰,还能够减少色度的採样率而不会对图像质量影响太大.YUV是一个比較笼统地说法,针对它的详细排列方式,能够分为非常 ...
- Android实战开发租赁管理软件(适配UI,数据的存储,多线程下载)课程分享
亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系. 课程内容简单介绍 我们软件是基于移动设备的.所以我们必定的选择了安卓作为我们的开发工具.课 ...
- 使用独立PID namespace防止误杀进程
一段错误的代码 首先看一段错误的代码: #!/bin/bash SLICE=100; slppid=1; pidfile=/var/run/vpnrulematch.pid # 停止之前的sleep ...
- csdn android视频播放器开发
http://blog.csdn.net/column/details/myvideo.html
- C语言实现通讯录
<span style="font-size:18px;">#include<stdio.h> #include<string.h> #incl ...
- python语言学习6——python基础
Python是一种计算机编程语言. 以#开头的语句是注释,注释是给人看的,可以是任意内容 其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块. Python程序是大小写敏感的,如果写错 ...
- JavaScript 基础优化(读书笔记)
1.带有 src 属性的<script>元素不应该在其<script>和</script>标签之间再包含额外的 JavaScript 代码.如果包含了嵌入的代码,则 ...
- SPOJ 7001(莫比乌斯反演)
传送门:Visible Lattice Points 题意:0<=x,y,z<=n,求有多少对xyz满足gcd(x,y,z)=1. 设f(d) = GCD(a,b,c) = d的种类数 : ...
- 【Bug笔记】The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
因为今天下载了一个eclipse se的版本号.所以想把原本eclipse ee这个软件外面的目录eclipse名字该成eclipse ee,方便以后的区分和管理.改了后又一次打开eclipse ee ...
- iOS 同步GET
(注意: 能够整片复制)