我正在开发一个有按钮的应用程序。该按钮没有文本、图像或背景。
所以我想做的是在 viewDidLoad 函数中给它一个图像。
这是我的:
@IBOutlet var tapButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
tapButton.setImage("redTap.png", forState: UIControlState.Normal)
}
但是我有一个错误提示我无法将字符串转换为 UIIMage。
我如何让它工作?
我试过:
let image = UIImage(named: "redTap.png")
tapButton.setImage(image, forState: UIControlState.Normal)
我已经让它工作了,但现在我遇到了问题。
图像本应是红色文本,但显示为蓝色。
我能够使用以下方法使图像正确显示:
let image = UIImage(named: imageColor[randNum])?.imageWithRenderingMode(.AlwaysOriginal)
tapButton.setImage(image, forState: UIControlState.Normal)
我现在想要的是在按下按钮时不突出显示按钮。我还有一些其他按钮在 xcode 中分配了图像,而不是通过代码。它们在按下时不会突出显示。
那么我怎样才能在按下按钮时摆脱突出显示呢?
最佳答案
您不需要“.png”。
如果“.imageWithRenderingMode(.AlwaysOriginal)”适合您:要在不同状态下保持相同的图像,您必须为不同状态设置相同的图像/属性。
@IBOutlet var tapButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
tapButton.setImage(UIImage(named: "redTap")?.imageWithRenderingMode(.AlwaysOriginal), forState: .Normal)
tapButton.setImage(UIImage(named: "redTap")?.imageWithRenderingMode(.AlwaysOriginal), forState: .Highlighted)
}
关于xcode - 如何快速更改按钮图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38041688/