如何更改iOS按钮上的背景图像?

时间:2012-07-13 11:48:59

标签: objective-c ios image uibutton

我在视图控制器上创建了一个具有预定义背景图像的按钮。我为这个按钮创建了一个动作和一个插座。我希望当用户点击按钮更改此按钮的背景图像时。我怎样才能做到这一点? 我试着把按钮的动作方法放到这样的东西:

snapshotCheckbox.image = [UIImage imageNamed:@"snapshot.png"];

但我想这个方法适用于UImageViews。我怎样才能为按钮做同样的事情? 非常感谢您阅读我的帖子:D

7 个答案:

答案 0 :(得分:14)

您可以在viewDidLoad中为按钮的给定状态设置图像:

[myButton setBackgroundImage:[UIImage imageNamed:@"myBackgroundImage.png"] forState:UIControlStateHighlighted];

答案 1 :(得分:3)

按钮有两个properties imagebackgroundImage ..

setting image使用

button.currentImage = image (or) 
[button setImage:image   ForState:UIControlStateNormal];

setting backgroundImage使用

button.currentBackgroundImage = image (or) 
[button setBackgroundImage:image  ForState:UIControlStateNormal];

答案 2 :(得分:1)

首先将按钮的类型设置为

button = [UIButton buttonWithType :UIButtonTypeCustom];

然后使用

 [button setImage:[UIImage imageNamed:@"imagename.type"]   ForState:UIControlStateNormal];

答案 3 :(得分:0)

这样做的一个解决方案是在UIImageView中显示图像,并在UIImageView的顶部放置透明的UIButton。在Interface Builder中,您可以将UIButton更改为“custom”。 这样可以在处理按下UIButton时触发的动作时轻松更改UIImageView中显示的图像。

希望这有帮助。

答案 4 :(得分:0)

按钮对象上有setBackgroundImage:forState:方法。有关详细信息,请参阅Setting an image for a UIButton in code(秒回答)。

此外,如果您为UIControlStateHighlighted状态设置图像,UIButtons会在按下时自动更改图像(尽管只要用户一直按下按钮)。

答案 5 :(得分:0)

Setbutton

如果您在点击

时需要图像
[snapshotCheckbox setImage:[UIImage imageNamed:@"snapshot.png"]  forState:UIControlStateHighlighted];

或者如果您想要选择它后的图像

[snapshotCheckbox setImage:[UIImage imageNamed:@"snapshot.png"] forState:UIControlStateSelected];

并提及onclick功能 如

snapshotCheckbox.Selected=YES;

答案 6 :(得分:0)

要在按钮上设置图像,只需在 Main.storyboard 中按下想要图像的按钮,然后在右侧的实用程序栏中按, 属性检查器并将背景设置为您想要的图像!确保您在左侧的支持文件中找到了您想要的图片。