Как объяснено в этом сообщении о переполнении стека , подкласс UITabBarController, затем переопределите метод - (void) viewDidLoad.Вот пример:
- (void)viewDidLoad {
[super viewDidLoad];
// Alternate between red and blue. Obviously this is a pretty terrible example,
// since the number of items shouldn't be a fixed integer. Replace this
// with whatever you want to do with your UITabBarItems.
int colorIndex = 0;
NSArray *colorArray = [NSArray arrayWithObjects:[UIColor redColor], [UIColor blueColor], nil];
for (int itemIndex = 0; itemIndex < 3; itemIndex++) {
// Create a frame for a subview which will overlap over the UITabBarItem.
CGRect frame = CGRectMake((self.tabBar.bounds.size.width/2.0)*itemIndex,
0.0,
self.tabBar.bounds.size.width/2.0,
self.tabBar.bounds.size.height);
// Initialize a UIView using the above frame.
UIView *v = [[UIView alloc] initWithFrame:frame];
// Cycle through the colors.
if (++colorIndex >= [colorArray count]) {
colorIndex = 0; // Keep colorIndex from going out of bounds.
}
// Set alpha to 0.5 so OP can see the view overlaps over the original UITabBarItem.
[v setAlpha:0.5];
[v setBackgroundColor:[colorArray objectAtIndex:colorIndex]];
// Add subview to UITabBarController view.
[[self tabBar] addSubview:v];
// v is retained by the parent view, so release it.
[v release];
}
}
Кроме того, вы должны знать, что хорошей практикой является поиск ответов здесь в переполнении стека, прежде чем задавать новый вопрос.Вы могли бы сделать большой прогресс самостоятельно, используя ссылку выше.Вы также должны опубликовать код, подробно описывающий то, что вы уже пробовали - люди будут более склонны помогать вам, если вы это сделаете.
Я разместил свой код, потому что сам я все еще новичок, и мне понравилось представленное испытаниепо твоему вопросу.Если у кого-то есть предложения по моему коду, пожалуйста, прокомментируйте!
В любом случае, надеюсь, это поможет!