Я просто хочу, чтобы на моем UITabbar были dofferentcolor iTems. Как я могу сделать свой цветной UITabBar - PullRequest
0 голосов
/ 29 сентября 2011

Пожалуйста, помогите мне. Я хочу сделать цветной UITabBar для каждого элемента, который мне нужен, разного цвета.

1 Ответ

0 голосов
/ 29 сентября 2011

Как объяснено в этом сообщении о переполнении стека , подкласс 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];
    }
}

Кроме того, вы должны знать, что хорошей практикой является поиск ответов здесь в переполнении стека, прежде чем задавать новый вопрос.Вы могли бы сделать большой прогресс самостоятельно, используя ссылку выше.Вы также должны опубликовать код, подробно описывающий то, что вы уже пробовали - люди будут более склонны помогать вам, если вы это сделаете.

Я разместил свой код, потому что сам я все еще новичок, и мне понравилось представленное испытаниепо твоему вопросу.Если у кого-то есть предложения по моему коду, пожалуйста, прокомментируйте!

В любом случае, надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...