imageview属性与 - (void)setImage:forState:在UIButton中的区别是什么?

时间:2012-12-04 06:57:31

标签: ios cocoa uibutton imageview

我只是尝试使用myBtn.imageview.image = newimg;为我的UIButton设置一个新图像(UIImage对象)然后我发现它不起作用。

之后我得到了使用setImage:forState:的正确解决方案,有关UIButton的文档说“imageView是按钮的图像视图。(只读)”

我该怎么办?有什么区别?

谢谢!

1 个答案:

答案 0 :(得分:0)

正如文档所说("imageView is the button’s image view. (read-only)"),它是一个只读属性,你不能只改变imageView。您必须使用推荐的方法setImage:forState:。基本上UIButton可能具有与您期望的不同的实现,myBtn.imageview.image实际上可能无法将所需图像设置为按钮。 setImage:forState:的实施可能与仅设置myBtn.imageview.image = newimg;完全不同。通过在问题中直接设置,您可能会得到一些意想不到的结果,因为实际的实现没有被执行。