【发布时间】:2012-01-27 00:46:04
【问题描述】:
我正在为这件事失去理智。我将 UIButton 连接为插座。我想改变它的形象。在 viewDidLoad 函数中,我尝试像这样设置图像:
[button1 setImage:[UIImage imageNamed:@"house.png"] forState:UIControlStateNormal];
什么都没有发生。但是,如果我使用 ImagePicker,它会以某种方式工作。在 ImagePickers 函数“didFinishPickingImage”中,我重复与上面完全相同的命令来设置图像,它可以正常工作,图像正常显示。
我一直在想,也许按钮的图像本身没有刷新,但尝试调用 [button1 setNeedsDisplay] 或 [button1.imageView setNeedsDisplay] 甚至 [button1.imageView.image setNeedsDisplay] 什么都没做。
有人对此有任何想法吗?我现在已经浪费了两个小时,我真的很沮丧,因为我确信原因一定是愚蠢到令人难以置信。
【问题讨论】:
-
请注意:我相信您在问题中引用的方法是deprecated since iOS 3.0。
-
拆分
UIImage调用和NSLog它,确保它不是nil?如果是,它会静默失败。 -
嗯,尝试将相同的代码放在 viewWillAppear 中。听起来无论出于何种原因,运行代码时“button1”仍然为零。您可以检查一下 - 在调用此行时设置断点,Button1 的值是多少?
-
我不知道弃用,感谢您提供的信息。
-
我刚刚发现如果一个 UILabel 对象直接包含一个 UIButton 会导致同样的问题,将 UIButton 移动到 UIView 解决了它。祝你好运!
标签: iphone objective-c uibutton