iPhone: цвет изображения TabBar? - PullRequest
0 голосов
/ 19 марта 2011

Я добавил изображение (оранжевого цвета) в TabBar, но при запуске приложения изображение показывается серым! Как я могу решить эту проблему? спасибо

Ответы [ 2 ]

3 голосов
/ 19 марта 2011

Цвет зафиксирован на синем. Вы можете попытаться написать свой собственный интерфейс панели вкладок или собрать что-нибудь, чтобы разместить пользовательские значки над панелью вкладок в подклассе UITabBarController, например:

-(void)setActiveCustomOverlay
{
    if ( self.activeOverlay )
    {
            [self.activeOverlay removeFromSuperview];
    }

    NSString *imagename = [NSString stringWithFormat:@"tab_%d.png",
                                                        [self selectedIndex]];
    UIImage *img = [UIImage imageNamed:imagename];
    self.activeOverlay = [[[UIImageView alloc] initWithImage:img] autorelease];
    self.activeOverlay.frame = CGRectMake(2.0f+64.0f*[self selectedIndex],3.0f,60.0f,44.0f);

    [tabbar addSubview:activeOverlay];
    [tabbar bringSubviewToFront:activeOverlay];
}

А также сделайте это:

  • добавить свойство UIView (неатомное, сохранить) с именем activeOverlay
  • добавить свойство tabbar и подключить его к панели вкладок в IB
  • вызывать setActiveCustomOverlay всякий раз, когда вкладка меняется.

Это некрасивый взлом, но самое простое решение для реализации в существующих проектах. Apple тоже не откажется.

Для iPad вам нужно настроить цифры и использовать более широкие изображения панели вкладок.

2 голосов
/ 19 марта 2011

Цвет изображения панели вкладок изменить нельзя, он всегда должен быть цвета по умолчанию. Для получения более подробной информации ознакомьтесь с рекомендациями по интерфейсу интерфейса ios.

...