2013-02-19 57 views
0

我正在使用一個表格視圖的應用程序。在這個表格視圖上,我有一些關於表格標題的信息,並且我還通過在其上放置了一些自定義視圖來自定義表格標題。如果其他條件失敗時,應用程序去背景

if ([imageForCheckMark.image isEqual:[UIImage imageNamed:@"crossCheckMark.png"]]||[imageForCheckMark.image isEqual:[UIImage imageNamed:@"checkMark.png"]])     
{ 

} 
else 
{ 
    imageForBackGroundOfHeader.image=[UIImage imageNamed:@"head1.png"];    
} 

在上面的代碼我與它相匹配的圖像的名稱和它給我根據我已經在頭部視圖應用的圖像的結果。但是,如果我正在處理這些代碼,並將我的應用程序放在後臺,並且出現在前臺,則此代碼每次都會給出錯誤的值。

我做錯了什麼?請告訴我該怎麼做來糾正它。

回答

1
@property(nonatomic, copy) NSString *accessibilityIdentifier NS_AVAILABLE_IOS(5_0); 

accessibilityIdentifier是存在的NSString作爲UIKit的屬性WH您可以使用它來在UIImageView中存儲圖像的名稱。 不需要SubClass UIImageView用於存儲imageName。

UIImageView *imv; 

當您將圖像也設置爲imageView設置文件的名稱。

[imv setAccessibilityIdentifier:@"ImageName"] ; 
imv.image=[UIImage imageNamed:[imv accessibilityIdentifier]]; 

當U是驗證你的條件只是檢查:

if ([[imv accessibilityIdentifier] isEqualToString:@"crossCheckMark.png"]||[[imv accessibilityIdentifier] isEqualToString:@"checkMark.png"])     
     //Do this 
    else 
    imageForBackGroundOfHeader.image=[UIImage imageNamed:@"head1.png"]; 
+0

謝謝阿尼爾它是有幫助的。 – iEinstein 2013-02-20 05:38:25

1

,你怎麼能指望

imageForCheckMark.image = [UIImage的imageNamed:@ 「crossCheckMark.png」]?

這兩個是不同的對象。

最好的方法是使UIImage派生出新的類並使用標誌來區分圖像。

+0

無法得到它我只是匹配名稱不objects.Please找到戴夫艾伯特的評論此http://計算器.com/questions/1523322 /發現圖像名稱加載到uiimage實例 – iEinstein 2013-02-19 11:35:17

+0

在同一個線程中,遵循Marc W接受的答案,它的解決方案也是你的問題:) – Guru 2013-02-19 11:40:12

0

替換此

[imageForCheckMark.image isEqual:[UIImage imageNamed:@"crossCheckMark.png"] 

與此

imageForCheckMark.image ==[UIImage imageNamed:@"crossCheckMark.png"] 

所以你的病情現在這個樣子

if ((imageForCheckMark.image ==[UIImage imageNamed:@"crossCheckMark.png"])||(imageForCheckMark.image ==[UIImage imageNamed:@"checkMark.png"]))     
{ 

} 
else 
{ 
    imageForBackGroundOfHeader.image=[UIImage imageNamed:@"head1.png"];    
} 
+0

它不解決它是相同的問題如前所述。 – iEinstein 2013-02-19 15:34:46

相關問題