Objective c Can';从[self.view viewWithTag:n]获取UIButton时,无法获取UIButton图像;

Objective c Can';从[self.view viewWithTag:n]获取UIButton时,无法获取UIButton图像;,objective-c,uiview,casting,uiimage,uibutton,Objective C,Uiview,Casting,Uiimage,Uibutton,我无法让这段代码简单地让ui按钮的图像工作。错误消息一直说tempButt是一个UIView,它不会响应调用imageForState: 有人能告诉我为什么以及如何正确操作吗? 最后,我想将我得到的这张图片与另一张图片进行比较,看看它们是否相同 UIButton* tempButt = (UIButton*)[self.view viewWithTag:tagNum]; UIImage* tempImage = [tempButt imageForState:UIControlStateNorm

我无法让这段代码简单地让
ui按钮的图像工作。错误消息一直说tempButt是一个
UIView
,它不会响应调用
imageForState:

有人能告诉我为什么以及如何正确操作吗?
最后,我想将我得到的这张图片与另一张图片进行比较,看看它们是否相同

UIButton* tempButt = (UIButton*)[self.view viewWithTag:tagNum];
UIImage* tempImage = [tempButt imageForState:UIControlStateNormal]; 

您是否确定已将按钮作为子视图添加到self.view(在xib或代码中),并已将其标记属性设置为tagNum持有的值??只要检查一下

我想你可能在上面提到的某个案例中出错了

如果恰好是一个按钮,那么我确信这些调用中的任何一个都会得到按钮图像

按钮有两个属性image和backgorundImage

用于获取图像使用

 tempButt.currentImage  (or) [tempButt  imageForState:UIControlStateNormal];
用于获取背景图像使用

 tempButt.currentBackgroundImage
请注意,imageForState方法仅在将image设置为按钮image时有效


希望这有帮助

请确保已将图像设置为背景图像,如果已将图像设置为背景图像,请尝试此操作

UIImage * img = [btn backgroundImageForState:UIControlStateNormal];

您可以将图像设置为contant,将另一个图像设置为背景此代码将获得背景图像

我非常感谢您为我提供的帮助。我检查了你说的每一句话,但那没用。我不知道为什么。。。