UITabBarItem 图像在单击时正在更改图像

UITabBarItem image is changing image when clicked

我会尽力解释我的问题。

当我的应用程序启动时,它会在 appdelegate class:

中进行检查
 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)用户启动应用,图片以"lock-open"图片开头。稍后用户转到注销页面并注销用户。之后单击应更改其图像的 UITabBarItem 时,它仍显示图像 "lock-open"。但是,当用户单击另一个 UITabBarItem 时,将显示正确的图像。 注意 标题始终设置正确。只是图像在做奇怪的事情。

场景 2) 反之亦然,用户以注销等方式启动。

这是我用来更改图像的代码:

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

使用下面的代码更改 UITabBarItem

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