Вопрос по customization, uitabbar, ios5, uitabbaritem – Настройте больше UIBarButtonItem в UITabBar

1

Начиная с iOS 5 Apple предоставила API для настройкиUITabBarItems вUITabBar объект. Я обращаюсь конкретно к следующему селектору:

setFinishedSelectedImage:withFinishedUnselectedImage:

Все это отлично работает для обычных кнопок, но я не могу настроить & quot; Подробнее & quot; кнопка, чтобы соответствовать стилю других. Это то, что я делаю:

tabBarController.viewControllers = tabBarControllerArray;
    tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor blackColor];
    UITabBarItem *more = tabBarController.moreNavigationController.tabBarItem;
     if ([more respondsToSelector:@selector(setFinishedSelectedImage:withFinishedUnselectedImage:)]){
        [more setFinishedSelectedImage:[UIImage imageNamed:@"BarIcon-More.png"]
           withFinishedUnselectedImage:[UIImage imageNamed:@"BarIcon-More.png"]
         ];
    } else {
        more.image = [UIImage imageNamed:@"BarIcon-More.png"];
    }

В результате получилось следующее: он не улавливает мое изображение «Больше».

Inactive more button Ugly active more button

Я видел много хаков, чтобы заменить кнопку «more», но есть ли лучший способ сделать это правильно?

Ваш Ответ

1   ответ
8

Я предположилUITabBarItems вmoreNavigationController был только для чтения, и это не было. Так что просто делаем следующее:

tabBarController.moreNavigationController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"More" image:[UIImage imageNamed:@"BarIcon-More.png"] tag:0];

И тот же код настройки, что и выше, работает.

Кажется, это не работает на iOS 6. НастройкаtabBarItem Свойство на больше контроллера ничего не делает. Я могу перешагнуть строку назначения в проверке отладчика до и после, и это не изменится. Любые другие решения?

Похожие вопросы