加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – 如何在swift中更改按钮图像?

发布时间:2020-12-14 18:59:11 所属栏目:百科 来源:网络整理
导读:我正在开发一个有按钮的应用程序.该按钮没有文字,图像或背景. 所以我想要做的是在viewDidLoad函数中给它一个图像. 这就是我所拥有的: @IBOutlet var tapButton: UIButton!override func viewDidLoad() { super.viewDidLoad() tapButton.setImage("redTap.pn
我正在开发一个有按钮的应用程序.该按钮没有文字,图像或背景.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读