Как я могу использовать настраиваемый элемент панели вкладок, когда он выбран, а прозрачный - не выбран

У меня есть два настраиваемых элемента панели вкладок, которые я хочу выделить цветом, когда они выбраны в определенном контроллере. Однако, когда они не выбраны, я хочу, чтобы на панели вкладок отображались прозрачные изображения элементов панели вкладок, которые я создал.

Я попытался реализовать соответствующий код в контроллерах представления, но он не работает должным образом.

[[self tabBarItem] setFinishedSelectedImage:[UIImage imageNamed:@"tab.png"] `withFinishedUnselectedImage:[UIImage imageNamed:@"transparent.png"]];`

в - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil методе

Что я делаю неправильно?


person Monis Manzoor    schedule 17.11.2012    source источник


Ответы (1)


Используйте следующее, чтобы настроить панель вкладок:

//UITabBar Customizing Appearance
{
    [[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"tabBarBg"]];

    int numberOfTabs = 0;
    numberOfTabs = [[self.tabBarController viewControllers] count];

    UIImage *selectionIndicatorImage = [UIImage imageNamed:@"selectionIndicatorImage"];
    if (numberOfTabs) {
        selectionIndicatorImage = [AppDelegate scaleImage:selectionIndicatorImage
                                                   toSize:CGSizeMake((320.0/numberOfTabs), selectionIndicatorImage.size.height)];
    }

    [[UITabBar appearance] setSelectionIndicatorImage:selectionIndicatorImage];        
    [[UITabBar appearance] setSelectedImageTintColor:[UIColor colorWithRed:0.0 green:169.0/255.0 blue:157.0/255.0 alpha:1.0]];

    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                       [UIColor colorWithWhite:1.0 alpha:1], UITextAttributeTextColor,
                                                       [UIColor lightGrayColor], UITextAttributeTextShadowColor, nil]
                                             forState:UIControlStateNormal];
    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                       [UIColor colorWithWhite:1.0 alpha:1], UITextAttributeTextColor,
                                                       [UIColor lightGrayColor], UITextAttributeTextShadowColor, nil]
                                             forState:UIControlStateSelected];
}

Использовать созданные изображения как изображения для выбранных и невыбранных элементов вкладок. Также вы можете указать количество вкладок.

person Tinu C Joseph    schedule 22.11.2012