自定义UITabBar(原创)

不多说了,直接上代码。复制可用

CustomerTabBarController.h

 

@interface CustomerTabBarController : UITabBarController {
}
@end

CustomerTabBarController.m

 

 

@implementation CustomerTabBarController
//@synthesize tabBarTest;

- (void)viewDidLoad {

//方法一,使用颜色自定义UItabBar :
	/*
    [super viewDidLoad];
	CGRect frame = CGRectMake(0, 0, 320, 44);
	UIView *v = [[UIView alloc] initWithFrame:frame];
	UIColor *c = [[UIColor alloc] initWithRed:0.4 green:0.7 blue:0.3 alpha:1.0];
    v.backgroundColor = c;
    [c release];
	[self.tabBar insertSubview:v atIndex:0];
    [v release];
	NSLog(@"view did load");
	 */

//方法二,使用图片自定义UItabBar :
	[super viewDidLoad];
	UIImageView* image = [[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:PACKAGE_FILE_PATH(@"tabbar.png")]];
	//image.frame = CGRectOffset(image.frame, 0, 5);
	image.frame = CGRectMake(0, 0, 320,49);
	[self.tabBar insertSubview:image atIndex:0];
	[image release];
}
@end

 

 

 

调用的地方:

 在*delegate.m众调用:

 

 

-(void)setupViewControllers
{
	UINavigationController* localNavCtroller;
	NSMutableArray* localViewCtrlArray =  [[NSMutableArray alloc] init];
	
	localNavCtroller = [self createNavControllerWrappingView:[HomeViewController class] tabIconName:nil tabTitle:nil];
	[localViewCtrlArray addObject:localNavCtroller];
	[localNavCtroller release];
	
	localNavCtroller = [self createNavControllerWrappingView:[StoredDataViewController class] tabIconName:nil tabTitle:nil];
	[localViewCtrlArray addObject:localNavCtroller];
	[localNavCtroller release];
	
	localNavCtroller = [self createNavControllerWrappingView:nil tabIconName:nil tabTitle:nil];
	[localViewCtrlArray addObject:localNavCtroller];
	[localNavCtroller release];
	tabBarController.viewControllers = localViewCtrlArray;
	[localViewCtrlArray release];
}

-(UINavigationController *)createNavControllerWrappingView:(Class)controller
											   tabIconName:(NSString*)iconName
												  tabTitle:(NSString*)tabTitle
{
	UIViewController* viewCtrller = [[controller alloc] init];
	UINavigationController* theNavCtrller = [[UINavigationController alloc] initWithRootViewController:viewCtrller];
	theNavCtrller.navigationBar.barStyle = UIBarStyleBlackTranslucent;
	viewCtrller.tabBarItem.image = [UIImage imageNamed:iconName];
	viewCtrller.title = NSLocalizedString(tabTitle, @"");
	[viewCtrller release];
	return theNavCtrller;
}

- (void)applicationDidFinishLaunching:(UIApplication *)application 

{

window = [[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];

    [windowmakeKeyAndVisible];

 tabBarController = [[CustomerTabBarControlleralloc] init];

[selfsetupViewControllers];

[windowaddSubview:tabBarController.view];

}

 

posted @ 2010-10-18 23:43  苏瑞强  阅读(9106)  评论(1编辑  收藏  举报