Iphone 在运行时更改UIButton的映像

Iphone 在运行时更改UIButton的映像,iphone,objective-c,xcode,object,Iphone,Objective C,Xcode,Object,我有一个叫做卡片的实例。我有一个名为“Representer”的对象,它有一个属性“image”,即UIImage。我试图在运行时更改按钮图像的值。我在interface builder中有一个按钮,还使用该按钮声明了一个IBOutlet。我写这段代码: UIButton *card1 = [[UIButton alloc] init]; [card1 setImage:representer.image forState:UIControlStateNormal]; 编译此代码时,按钮的

我有一个叫做卡片的实例。我有一个名为“Representer”的对象,它有一个属性“image”,即UIImage。我试图在运行时更改按钮图像的值。我在interface builder中有一个按钮,还使用该按钮声明了一个IBOutlet。我写这段代码:

UIButton *card1 = [[UIButton alloc] init]; 
[card1 setImage:representer.image forState:UIControlStateNormal]; 

编译此代码时,按钮的图像不会更改。请有人帮帮我

首先需要确保您的按钮已连接到Interface Builder中的IBOutlet,您是否已使用Connections Inspector完成此操作

如果您的.h as中有按钮:

@property (nonatomic, retain) IBOutlet UIButton *option1Button;
然后,在.m文件中,调用

[option1Button setImage:representer.image forState:UIControlStateNormal];
在代码中,您只需实例化另一个UIButton并在其上设置图像。这是很好的代码,但与xib中的按钮无关

这肯定假设IBOutlet在Interface Builder中已正确连接。下面是它的外观:


此外,您需要在按钮的图像与按钮的背景图像之间保持一致。它们是两种不同的东西。如果您在Interface Builder中指定了“图像”,那么在代码中也可以这样做,在backgroundImage中也可以这样做。

您首先需要确保您的按钮已连接到Interface Builder中的IBOutlet,您是否使用连接检查器完成了此操作

如果您的.h as中有按钮:

@property (nonatomic, retain) IBOutlet UIButton *option1Button;
然后,在.m文件中,调用

[option1Button setImage:representer.image forState:UIControlStateNormal];
在代码中,您只需实例化另一个UIButton并在其上设置图像。这是很好的代码,但与xib中的按钮无关

这肯定假设IBOutlet在Interface Builder中已正确连接。下面是它的外观:


此外,您需要在按钮的图像与按钮的背景图像之间保持一致。它们是两种不同的东西。如果您在Interface Builder中指定了“image”,那么在代码中也可以这样做,在backgroundImage中也可以这样做。

在更改映像的行上设置一个断点,并确保cardOne不为零。(或使用NSLog语句)断开的出口链接是代码无法按预期工作的一个常见原因

在更改图像的行上设置断点,并确保cardOne不是nil。(或使用NSLog语句)断开的出口链接是代码无法按预期工作的一个常见原因

是的,我就是这么做的。它只是坐在后面,什么也不做。[cardOne设置映像:card1.image for状态:UIControlStateNormal];我说对象的名称是representer,为了不让你感到困惑,它实际上是card1。我将发布界面生成器的屏幕截图,你是否在Connections Inspector中确保按钮连接到文件所有者的IBOutlet?cardOne,在.h文件中,我写了@property(nonatomic,retain)IBOutlet UIButton*cardOne;是的,我就是这么做的。它只是坐在后面,什么也不做。[cardOne设置映像:card1.image for状态:UIControlStateNormal];我说对象的名称是representer,为了不让你感到困惑,它实际上是card1。我将发布界面生成器的屏幕截图,你是否在Connections Inspector中确保按钮连接到文件所有者的IBOutlet?cardOne,在.h文件中,我写了@property(nonatomic,retain)IBOutlet UIButton*cardOne;