当前位置: 代码迷 >> Iphone >> 【iPhone代码片段之八】怎么自定义Tab Bar Button
  详细解决方案

【iPhone代码片段之八】怎么自定义Tab Bar Button

热度:106   发布时间:2016-04-25 06:05:26.0
【iPhone代码片段之八】如何自定义Tab Bar Button .
核心代码如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    CGRect frame = [[UIScreen mainScreen] bounds];    //NSLog(@"x=%.2f,y=%.2f,width=%.2f,height=%.2f",frame.origin.x,frame.origin.y,frame.size.width,frame.size.height);    self.window = [[UIWindow alloc] initWithFrame:frame];    [[NSBundle mainBundle]loadNibNamed:@"TabBarController" owner:self options:nil];    //[self.window addSubview:tabBarController.view];    self.window.rootViewController = self.tabBarController;    //添加中间的TabBarButton    [self addCenternTabBarButton];        self.window.backgroundColor = [UIColor whiteColor];    [self.window makeKeyAndVisible];        return YES;}


-(void)addCenternTabBarButton{    //NSLog(@"addCenternTabBarButton");    //创建一个自定义button    UIButton *centerButton = [UIButton buttonWithType:UIButtonTypeCustom];    //初始化button的背景图片                               UIImage *centerButtonImg = [UIImage imageNamed:@"centerTabBarItem.png"];    //设置button的frame    centerButton.frame = CGRectMake(0, 0, centerButtonImg.size.width, centerButtonImg.size.height);    //设置button的背景图片    [centerButton setBackgroundImage:centerButtonImg forState:UIControlStateNormal];    //设置button的action    [centerButton addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];        CGFloat imageHeight = centerButtonImg.size.height;    CGFloat barHeight = self.tabBarController.tabBar.frame.size.height;    //NSLog(@"imageHeight=%2.f,barHeight=%.2f",imageHeight,barHeight);    CGFloat delta = imageHeight-barHeight;    //NSLog(@"delta=%.2f",delta);        //设置centerButton的中心位置    if(delta<=0){//如果图片高度小于等于TabBar高度        centerButton.center = self.tabBarController.tabBar.center;    }else{//如果图片高度大于TabBar高度        CGPoint center = self.tabBarController.tabBar.center;        center.y = center.y - delta/2.0;        centerButton.center = center;    }    //将centerButton加入到tabBarController中    [self.tabBarController.view addSubview:centerButton];}


效果图如下:
[img]

[/img]
  相关解决方案