我会尽力解释我的问题。
当我的应用程序启动时,它会在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时,它仍会显示图像“锁定打开”。但是,当用户单击另一个UITabBarItem时,将显示正确的图像。 注意标题始终设置正确。只是那些做奇怪事情的图像。
场景2)反之亦然用户启动时注销等等。
这是我用来更改图片的代码:
UITabBarItem *item = self.tabBarController.tabBar.items[2];
item.image = [UIImage imageNamed:@"lock"];
item.title = @"Logga in";
答案 0 :(得分:2)
使用以下代码更改UITabBarItem
UITabBarItem *item0 = [self.tabBar.items objectAtIndex:0];
item0.image = [[UIImage imageNamed:@"lock.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
item0.selectedImage = [UIImage imageNamed:@"lock-selected.png"];