xcode - 如何快速更改按钮图像?

标签 xcode swift uibutton uiimage

我正在开发一个有按钮的应用程序。该按钮没有文本、图像或背景。

所以我想做的是在 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/

相关文章:

ios - 创建一张从一个 View Controller 传输到另一个 View Controller 的照片

xcode - UIPickerview 和 Core Data 有关系

ios - 设备上的 Xcode 11 实时预览失败,但应用程序运行正常

objective-c - 在 Xcode 4.2 中找不到框架 header ,但应用程序运行正常

ios - 无法发出 URL 的文件扩展名

ios - 使用 LinkingObjects 时出错(来自类型 :property:) - Use of unresolved identifier 'LinkingObjects'

swift - 如何从对象中获取按字母顺序排列的 tableView 部分

ios - 动态大小的 UILabel 紧跟 UIButton

iphone - UIButton setFont 在 iPhone 2G iOS 3.1.3 上失败

html - 如何在页面右下角添加固定按钮