zoukankan      html  css  js  c++  java
  • 自定义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];

    }
  • 相关阅读:
    JS优先队列排序。出队时,先找出优先级最高的元素,再按照先进先出出队。
    使用队列对数组排列,基数排序
    一个用JS数组实现的队列
    使用栈判断给定字符串是否是回文的算法
    使用js栈stack类的实现
    Bootstrap篇:弹出框和提示框效果以及代码展示
    一个漂亮的php验证码类
    jquery单选框radio绑定click事件实现和是否选中的方法
    phpQuery—基于jQuery的PHP实现
    PHP的函数-----生成随机数、日期时间函数
  • 原文地址:https://www.cnblogs.com/moshengren/p/UITabBar.html
Copyright © 2011-2022 走看看