iPhone:修改tabbar图片及背景图片(待整理)

本文出自 “HELP” 博客,请务必保留此出处http://lulala.blog.51cto.com/780501/659098


修改tabbar背景图片

方法1:
//设置背景颜色,注意tabbar高度设置为49
                CGRect frame = CGRectMake(0, 0, self.view.bounds.size.width, 49);
                UIView *view = [[UIView alloc] initWithFrame:frame];
                UIColor *color = [[UIColor alloc] initWithRed:255.0
                                                                                                                                green:255.0
                                                                                                                                    blue:255.0
                                                                                                                                alpha:1.0];
                [view setBackgroundColor:color];
                [color release];
                [[[self defaultTabBarController] tabBar] insertSubview:view atIndex:0];
                [view release];

方法2:
//设置图片为背景,注意tabbar高度设置为49
                UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"backgroundImage.png"]];
                img.frame = CGRectMake(0, 0,
                                 self.defaultTabBarController.tabBar.frame.size.width,                                             self.defaultTabBarController.tabBar.frame.size.height);
                img.contentMode = UIViewContentModeScaleToFill;
                [[[self defaultTabBarController] tabBar] insertSubview:img atIndex:0];
                [img release];


修改tabbar图片及背景图片

MyTabBarItem.h
@ interface MyTabBarItem : UITabBarItem {
@ private
        
        UIImageView *iconImageView;
        UIImage *selectedIconImage, *iconImage;
}

@property (nonatomic, retain) UIImage *selectedIconImage, *iconImage;

- ( void)setSelected:(BOOL)bo;
- ( void)setIconImage:(UIImage *)image;
- ( void)setSelectedIconImage:(UIImage *)image;

@end


MyTabBarItem.m
 #import  "MyTabBarItem.h"


@implementation MyTabBarItem

@synthesize selectedIconImage, iconImage;

- ( void)setSelected:(BOOL)bo
{
        UIView *_view = [self valueForKey: @"_view"];
         if( bo )
        {
                iconImageView.frame = CGRectMake(0, 0, selectedIconImage.size.width/2, selectedIconImage.size.height/2);
                iconImageView.center = CGPointMake(_view.frame.size.width/2, _view.frame.size.height/2);
                iconImageView.image = selectedIconImage;
        }
         else
        {
                iconImageView.frame = CGRectMake(0, 0, iconImage.size.width/2, iconImage.size.height/2);
                iconImageView.center = CGPointMake(_view.frame.size.width/2, _view.frame.size.height/2);
                iconImageView.image = iconImage;                
        }
}

- ( void)awakeFromNib
{
        [super awakeFromNib];
        iconImageView = [[[UIImageView alloc] init] autorelease];
        [[self valueForKey: @"_view"] addSubview:iconImageView];
}

- ( void)dealloc {
        [selectedIconImage release];
        [iconImage release];
        [super dealloc];
}

@end
  
- (void)viewDidLoad
  //add pictures of tab bar
        NSArray *array = self.defaultTabBarController.tabBar.items;
     
        [[array objectAtIndex:0] setIconImage:[UIImage imageNamed: @"btn_tab_recipes.png"]];
        [[array objectAtIndex:0] setSelectedIconImage:[UIImage imageNamed: @"btn_tab_recipes_selected.png"]];
        [[array objectAtIndex:0] setSelected:YES];


- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController

//set selected picture
        NSArray *array = self.defaultTabBarController.tabBar.items;
         for (MyTabBarItem *item  in array) {
                [item setSelected:NO];
        }
     
        [[array objectAtIndex:defaultTabBarController.selectedIndex] setSelected:YES];


转载于:https://www.cnblogs.com/viktyz/archive/2012/06/14/2872148.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值