2015-03-25 60 views
1

我将尝试尽可能好地解释我的问题。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时,它仍然显示图像“锁定打开”。但是当用户点击另一个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 – 2015-03-25 11:37:21