6

我在视图控制器上创建了一个具有预定义背景图像的按钮。我为这个按钮创建了一个动作和一个出口。我想在用户点击按钮时更改此按钮的背景图像。我怎样才能做到这一点?我试图在按钮的操作方法中加入如下内容:

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

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

4

7 回答 7

14

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

[myButton setBackgroundImage:[UIImage imageNamed:@"myBackgroundImage.png"] forState:UIControlStateHighlighted];
于 2012-07-13T11:53:02.490 回答
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];
于 2012-07-13T13:19:37.300 回答
1

首先将按钮的类型设置为

button = [UIButton buttonWithType :UIButtonTypeCustom];

然后使用

 [button setImage:[UIImage imageNamed:@"imagename.type"]   ForState:UIControlStateNormal];
于 2012-07-13T13:55:04.420 回答
0

一种解决方案是在 a 中显示图像UIImageView并在 UIImageView 顶部放置一个透明的 UIButton。在 Interface Builder 中,您可以将 UIButton 更改为“自定义”。这将允许您在处理按下 UIButton 时触发的操作时轻松更改 UIImageView 中显示的图像。

希望这可以帮助。

于 2012-07-13T11:52:51.717 回答
0

你有setBackgroundImage:forState:按钮对象的方法。有关更多信息(秒回答),请参阅在代码中为 UIButton 设置图像。

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

于 2012-07-13T11:57:20.457 回答
0

设置按钮

如果您在单击时需要图像

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

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

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

并在那个onclick功能上提到

snapshotCheckbox.Selected=YES;
于 2012-07-13T12:06:00.393 回答
0

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

于 2014-04-20T20:42:20.143 回答