【发布时间】:2014-07-21 18:11:54
【问题描述】:
我正在尝试创建一个由图像表示的按钮,只要按下该按钮,就会将图像更改为另一个图像,以便我可以知道当前选择了哪个图像。
- (IBAction)imageWasPressed:(id)sender {
UIImage *imageWork = [UIImage imageNamed:@"icn_work"];
NSData *data1 = UIImagePNGRepresentation(self.imageButton.currentImage);
NSData *data2 = UIImagePNGRepresentation(imageWork);
if (data1==data2){
[self.imageButton setImage:[UIImage imageNamed:@"icn_personal"] forState:UIControlStateNormal];}
}
我也试过了,但是没用:
- (IBAction)imageWasPressed:(id)sender {
if ([[self.imageButton imageForState:UIControlStateNormal] isEqual:[UIImage imageNamed:@"icn_work"]]){
[self.imageButton setImage:[UIImage imageNamed:@"icn_personal"] forState:UIControlStateNormal];}
}
更改图像的行有效,但我无法比较这两个图像。任何帮助将非常感激!谢谢!
【问题讨论】:
-
你试过
[data1 isEqual:data2]吗? -
另外,顺便说一句,您可能不应该比较图像来获取此信息。保留一个 BOOL,如
if (self.personalSelected),在选择按钮时更改它。 -
@daltonclaybrook 我之前尝试过,但没有成功。看来它现在正在工作,大声笑?非常感谢您的回答!
标签: ios objective-c uibutton uiimage