Objective C 我们怎样才能改变按钮的背景图像,当它被点击然后恢复正常?

Posted

技术标签:

【中文标题】Objective C 我们怎样才能改变按钮的背景图像,当它被点击然后恢复正常?【英文标题】:Objective C How can we change the background image of a button in just when it is clicked and then go back to normal? 【发布时间】:2018-02-23 11:38:21 【问题描述】:
[myButton setImage:[UIImage imageNamed:@"btn_normal"] forState:UIControlStateNormal];
[myButton setImage:[UIImage imageNamed:@"btn_highlighted"] forState:UIControlStateHighlighted];
[myButton setImage:[UIImage imageNamed:@"btn_highlighted"] forState:UIControlStateSelected];
myButton.showsTouchWhenHighlighted = YES;

我已经尝试过这段代码,但它不起作用。

【问题讨论】:

你试过setBackgroundImage:forState:吗? 您必须将按钮类型设为 UIButtonTypeCustom,下面的链接可能对您有用***.com/a/1883996/5184217 【参考方案1】:

您应该使用setBackgroundImage:forStatesetImage:forState 更改与按钮标题处于同一深度级别的图像。此外,backgroundImage 会自动适应按钮的视图边界。 image 不是。

【讨论】:

【参考方案2】:

实现该按钮的onTouchDown动作,并通过[btn setBackgroundImage: forState:]在该函数中设置按钮背景图像

【讨论】:

以上是关于Objective C 我们怎样才能改变按钮的背景图像,当它被点击然后恢复正常?的主要内容,如果未能解决你的问题,请参考以下文章

wincc中,怎样用C语言来改变图形的背景颜色?

如何在 SpriteKit / Objective C 中添加“静音”按钮?

我怎样才能制作这个形状的按钮组?

html中点击按钮怎样改变div背景颜色

Objective c - iCarousel 库

IBAction按钮改变颜色?