2015-03-25 5 views
1

Im собираюсь попытаться объяснить мою проблему как можно лучше.UITabBarItem изображение меняет изображение при нажатии

Когда мое приложение запускается он проверяет это в классе AppDelegate:

if([[NSUserDefaults standardUserDefaults] boolForKey:@"checkboxClicked"]){ 

     tabBarItem3.image = [UIImage imageNamed:@"lock-open"]; 
     tabBarItem3.title = @"Logga ut"; 
    } 

    else{ 
     tabBarItem3.title = @"Logga In"; 
     tabBarItem3.image = [UIImage imageNamed:@"lock.png"]; 
    } 

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

Сценарий 1) Пользователь запускает приложение, и изображение начинается с «незащищенного» изображения. Позже пользователь переходит на страницу выхода и выходит из системы. Когда UITabBarItem, который должен изменить свое изображение, будет нажат после этого, он все равно покажет изображение «lock-open». ОДНАКО, когда пользователь нажимает на другой UITabBarItem, отображается правильное изображение. ПРИМЕЧАНИЕ название всегда задано правильно. Просто изображение, которое делает странные вещи.

Сценарий 2) пользователя Просто наоборот начинается, как выход из системы и т.д ..

Это код, я использую, чтобы изменить имидж:

UITabBarItem *item = self.tabBarController.tabBar.items[2]; 
    item.image = [UIImage imageNamed:@"lock"]; 
    item.title = @"Logga in"; 

ответ

2

Используйте сильфона код для изменения образа UITabBarItem

UITabBarItem *item0 = [self.tabBar.items objectAtIndex:0]; 
item0.image = [[UIImage imageNamed:@"lock.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 
item0.selectedImage = [UIImage imageNamed:@"lock-selected.png"]; 
+1

Работал как очарование! Thnx –

Смежные вопросы