按下按钮时如何更改图像?

时间:2013-08-25 21:41:04

标签: ios objective-c

现在我知道这个问题可能听起来像是重复的,但是我怀疑它是在我研究过的时候看到的,并且没有一个可能的副本回答我的问题。如果它是重复的并且已经通过各种方式回答了我的方式!

但我的问题并没有处理更改图像的按钮,更多的是按钮是图像。

所以我的按钮是一个图像,当按下时会播放声音然后图像会改变,直到声音完成。我的问题是我无法改变图像。

现在我尝试过这种方法,认为我可以按下我的按钮,我的新图像将覆盖我的按钮,直到声音完成:

UIImage *dolDerp = [UIImage imageNamed:@"dolphin2.png"];

[imageview setImage:dolDerp];

我设置了一个插座,它连接到一个图像视图对象,然后动作连接到按钮,所以理论上按下按钮时,新图像应该接管屏幕。现在很明显代码需要调整,以便在播放声音几秒后按钮会消失,但我的问题是我甚至无法显示按钮。如果可能的话,我也更愿意让按钮对象图像改变? 如果有人能提供一些帮助,我们非常感激!

2 个答案:

答案 0 :(得分:2)

最好的事情是在Interface Builder中将两个图像分配给按钮Normal / Selected states。

在代码中只使用这一行:

myButton.selected = YES;
//or 
myButton.selected = NO;

答案 1 :(得分:1)

@Mahmoud Fayez建议的是好的。在代码中,设置按钮图像/背景图像的正确方法是[button setImage:image forState:UIControlStateNormal]或类似的setBackgroundImage方法

如果您正在使用IB,最好在IB中为不同的状态设置不同的图像,然后在代码中更改按钮状态(这将更改按钮图像)。