2013-02-19 64 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

相关问题