2015-03-25 109 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