本文出自
“HELP”
博客,请务必保留此出处http://lulala.blog.51cto.com/780501/659098
修改tabbar背景图片
方法1:
//设置背景颜色,注意tabbar高度设置为49
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
CGRect
frame = CGRectMake(0, 0, self.view.bounds.size.width, 49);
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
UIView
*view = [[UIView alloc] initWithFrame:frame];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
UIColor
*color = [[UIColor alloc] initWithRed:255.0
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
green:255.0
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
blue:255.0
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
alpha:1.0];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[view
setBackgroundColor:color];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[color
release];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[[[self
defaultTabBarController] tabBar] insertSubview:view atIndex:0];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[view
release];
方法2:
//设置图片为背景,注意tabbar高度设置为49
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
UIImageView
*img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:
@"backgroundImage.png"]];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
img.frame
= CGRectMake(0, 0,
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
self.defaultTabBarController.tabBar.frame.size.width, self.defaultTabBarController.tabBar.frame.size.height);
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
img.contentMode
= UIViewContentModeScaleToFill;
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[[[self
defaultTabBarController] tabBar] insertSubview:img atIndex:0];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[img
release];
修改tabbar图片及背景图片
MyTabBarItem.h
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
@
interface MyTabBarItem
: UITabBarItem {
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
@
private
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
UIImageView
*iconImageView;
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
UIImage
*selectedIconImage, *iconImage;
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
}
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
@property (nonatomic, retain) UIImage *selectedIconImage, *iconImage;
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
- (
void)setSelected:(BOOL)bo;
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
-
(
void)setIconImage:(UIImage *)image;
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
-
(
void)setSelectedIconImage:(UIImage *)image;
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
@end
MyTabBarItem.m
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
#import
"MyTabBarItem.h"
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
@implementation
MyTabBarItem
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
@synthesize selectedIconImage, iconImage;
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
- (
void)setSelected:(BOOL)bo
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
{
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
UIView
*_view = [self valueForKey:
@"_view"];
if(
bo )
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
{
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
iconImageView.frame
= CGRectMake(0, 0, selectedIconImage.size.width/2, selectedIconImage.size.height/2);
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
iconImageView.center
= CGPointMake(_view.frame.size.width/2, _view.frame.size.height/2);
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
iconImageView.image
= selectedIconImage;
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
}
else
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
{
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
iconImageView.frame
= CGRectMake(0, 0, iconImage.size.width/2, iconImage.size.height/2);
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
iconImageView.center
= CGPointMake(_view.frame.size.width/2, _view.frame.size.height/2);
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
iconImageView.image
= iconImage;
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
}
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
}
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
- (
void)awakeFromNib
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
{
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[super
awakeFromNib];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
iconImageView
= [[[UIImageView alloc] init] autorelease];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[[self
valueForKey:
@"_view"] addSubview:iconImageView];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
}
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
- (
void)dealloc {
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[selectedIconImage
release];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[iconImage
release];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[super
dealloc];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
}
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
@end
- (void)viewDidLoad
//add
pictures of tab bar
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
NSArray
*array = self.defaultTabBarController.tabBar.items;
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[[array
objectAtIndex:0] setIconImage:[UIImage imageNamed:
@"btn_tab_recipes.png"]];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[[array
objectAtIndex:0] setSelectedIconImage:[UIImage imageNamed:
@"btn_tab_recipes_selected.png"]];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[[array
objectAtIndex:0] setSelected:YES];
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
//set
selected picture
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
NSArray
*array = self.defaultTabBarController.tabBar.items;
for (MyTabBarItem
*item
in array) {
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[item
setSelected:NO];
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
}
![](http://lulala.blog.51cto.com/images/editer/InBlock.gif)
[[array
objectAtIndex:defaultTabBarController.selectedIndex] setSelected:YES];