Chinaunix首页 | 论坛 | 博客
  • 博客访问: 701551
  • 博文数量: 102
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 1748
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-23 15:42
个人简介

寻找严肃、沉默和专注的力量。

文章分类

全部博文(102)

文章存档

2015年(26)

2014年(8)

2013年(68)

分类: iOS平台

2015-04-05 23:54:49

详细使用参考:http://www.cnblogs.com/wendingding/p/3775488.html
超过5个Tab后的处理:
http://www.cnblogs.com/smileEvday/archive/2012/05/20/UITabBarController.html
http://poolo.iteye.com/blog/1833819
本文转载自:http://blog.csdn.net/cloudhsu/article/details/11383773

文章目的

如何用纯代码的方式创建UITabBarController

方法

1. 首先开启XCode并建立一个Empty Application

2. 加入一个Objective-C Class并继承自UIViewController,取名为FirstViewController

3. 重复一次上面动作,并取名为SecondViewController

4. 之后可在工程中看到此图

5. 开启AppDelegate.h,并加入如下代码


  1. #import   
  2.   
  3. @interface AppDelegate : UIResponder   
  4. {  
  5.     UITabBarController* tabBarViewController;  
  6. }  
  7.   
  8. @property (strong, nonatomic) UIWindow *window;  
  9.   
  10. @end  

6. 开启AppDelegate.m,并加入如下代码




  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  2. {  
  3.     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];  
  4.     // Override point for customization after application launch.  
  5.     self.window.backgroundColor = [UIColor whiteColor];  
  6.     [self.window makeKeyAndVisible];  
  7.       
  8.     tabBarViewController = [[UITabBarController alloc]init];  
  9.     [self.window setRootViewController:tabBarViewController];  
  10.       
  11.     FirstViewController* first = [[FirstViewController alloc]init];  
  12.     SecondViewController* second = [[SecondViewController alloc]init];  
  13.     tabBarViewController.viewControllers = [NSArray arrayWithObjects:first, second, nil];  
  14.     [first release];  
  15.     [second release];  
  16. }  

  1. tabBarViewController = [[UITabBarController alloc]init];  
  2. [self.window setRootViewController:tabBarViewController];  
第一行代码为初始一个UITabBarController


第二行为将tabBarViewController设定为window的root view controller(根视图控制器)



  1. tabBarViewController.viewControllers = [NSArray arrayWithObjects:first, second, nil];  
接下来利用UITabBarController的viewControllers属性,设定First及Second两个控制器。

7.用代码修改TabBar与TabBarItem



  1. UITabBar *tabBar = tabBarViewController.tabBar;  
  2. UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];  
  3. UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];  
UITabBarController提供一个tabBar属性,我们可以透过这个属性取得UITabBar


并在UITabBar的items属性取得所有的UITabBarItem


  1. tabBarItem1.title = @"Home";  
  2. tabBarItem2.title = @"Maps";  
透过UITabBarItem的title属性,可以设定tab bar item上显示的文字



  1. [tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"home_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"home.png"]];  
  2. [tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"maps_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"maps.png"]];  

- (void)setFinishedSelectedImage:(UIImage *)selectedImage withFinishedUnselectedImage:(UIImage *)unselectedImage
这是UITabBarItem提供的方法,可以设定上面所显示的图片,selectedImage是只目前选择并显示的TabBatItem显示的图片


unselectedImage则是平常未选中时显示的图片




  1. UIImage* tabBarBackground = [UIImage imageNamed:@"tabbar.png"];  
  2. [[UITabBar appearance] setBackgroundImage:tabBarBackground];  
这段代码可以修改UITabBar显示的背景图



  1. [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tabbar_selected.png"]];  
这可以设定选中的UITabBarItem后面的图



  1. UIColor *titleHighlightedColor = [UIColor colorWithRed:153/255.0 green:192/255.0 blue:48/255.0 alpha:1.0];  
  2. [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:  
  3.                                                        titleHighlightedColor, UITextAttributeTextColor,  
  4.                                                        nil] forState:UIControlStateHighlighted];  

- (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state
这个方法可以设定显示文字的属性,在这段代码中,是设定为显示文字的颜色





其他参考

poolo的tabbar超过五个,如何修改more


阅读(946) | 评论(0) | 转发(0) |
0

上一篇:iOS的runtime小结

下一篇:UITableViewCell详解

给主人留下些什么吧!~~