Это грязно - но работает и получило одобрение:
- Изменение размера вкладки
- используйте свои собственные изображения в своем размере
во вкладке настройки контроллера
tabController = [[UITabBarController alloc] init];
tabController.view.frame = CGRectMake(0, 72, 320, 480 - (82));
tabController.delegate = self;
UIImageView *bgImageView;
bgImageView = [ [ UIImageView alloc ] initWithImage: [UIImage imageNamed:TABBAR_BACKGROUND]];
bgImageView.frame = CGRectMake(0, -11, 320, 60);
[[tabController tabBar] addSubview:bgImageView];
[[tabController tabBar] sendSubviewToBack:bgImageView];
tabController.tabBar.frame = CGRectMake(0, 460 - (59 + 52 - 11), 320, 49);
[bgImageView release];
[window addSubview:tabController.view];
в методе инициализации tabviewcontroller1
- (id) init
{
if(self = [super init])
{
CustomTabBarItem *tabItem = [[CustomTabBarItem alloc]
initWithTitle:@"" image:nil tag:0];
tabItem.customHighlightedImage=[UIImage imageNamed:TABBAR_TAB_1_ACTIVE];
tabItem.customStdImage=[UIImage imageNamed:TABBAR_TAB_1_DEFAULT];
self.tabBarItem=tabItem;
[tabItem release];
tabItem=nil;
}
return self;
}
и пользовательская панель вкладок выглядит как
@interface CustomTabBarItem : UITabBarItem
{
UIImage *customHighlightedImage;
UIImage *customStdImage;
}
@property (nonatomic, retain) UIImage *customHighlightedImage;
@property (nonatomic, retain) UIImage *customStdImage;
@end
#import "CustomTabBarItem.h"
@implementation CustomTabBarItem
@synthesize customHighlightedImage;
@synthesize customStdImage;
- (void) dealloc
{
[customHighlightedImage release]; customHighlightedImage=nil;
[customStdImage release]; customStdImage=nil;
[super dealloc];
}
-(UIImage *) selectedImage
{
return self.customHighlightedImage;
}
-(UIImage *) unselectedImage
{
return self.customStdImage;
}
@end
ВАЖНО:
Я довольно новичок в разработке для iPhone и довольно уверен, что вы можете сделать это менее хакерским. кроме того, я получил одобрение с этим, что НЕ означает, что вы тоже будете автоматически