gpt4 book ai didi

ios - 设置图像/背景图像时,UIButton 标题不会突出显示

转载 作者:行者123 更新时间:2023-12-01 17:47:01 25 4
gpt4 key购买 nike

我有一个带有右对齐箭头图标的自定义按钮。 Login button default

当它通过点击突出显示时,仅突出显示箭头图标。文本保持白色,而不是像图标那样变成灰色。

Login button highlighted

这是代码(在 UIButton 的子类中):

let rightIcon = #imageLiteral(resourceName: "disclosureIndicator")

setTitleColor(.white, for: .normal)
setBackgroundImage(rightIcon, for: .normal)

guard let image = backgroundImage(for: .normal) else { return }

titleEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: image.size.width)

我还覆盖了 backgroundRect 属性。

override func backgroundRect(forBounds bounds: CGRect) -> CGRect {
guard let image = backgroundImage(for: .normal) else {
return super.backgroundRect(forBounds: bounds)
}
return CGRect(
x: frame.width - (image.size.width + 20),
y: (frame.height / 4) + (image.size.height / 4),
width: image.size.width,
height: image.size.height)
}

我也尝试过设置按钮图像(即 setImage(rightIcon, .normal))而不是设置按钮背景图像,但没有成功。

我也尝试将图标的突出显示颜色和标题设置为灰色,但这也不起作用。

我希望在点击按钮时突出显示文本和图标,但我似乎找不到实现此目的的方法。真的做不到吗?

最佳答案

将按钮类型设置为 System 而不是 Custom 解决了这个问题。现在他们都像他们应该的那样突出显示。

IB Attribute inspector

关于ios - 设置图像/背景图像时,UIButton 标题不会突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48184433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com