不多说了,直接上代码。复制可用
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];
}