本文出自
“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];