gpt4 book ai didi

ios - UIButton 边框颜色默认为黑色。如何将其更改为用于设置按钮文本标题的默认(蓝色)颜色?

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:35 30 4
gpt4 key购买 nike

我创建了一个 UIButton:

testNavigationButton.setTitle("Test", forState: .Normal)
testNavigationButton.layer.borderWidth = 1

我尝试将颜色更改为:

testNavigationButton.layer.borderColor = UIColor.blueColor().CGColor

但是边框的颜色与用于设置按钮标题的默认阴影不同的蓝色阴影。这是什么阴影?如何将边框颜色更改为这种颜色?

最佳答案

您可以使用以下方法获取文本的颜色

let textColor = button.titleLabel?.textColor

然后像这样将它分配给您的 borderColor:

button.layer.borderColor = textColor!.CGColor

顺便说一句,根据我的测试,蓝色是 #007aff 您可以使用以下方法初始化它:

let color = UIColor(red: 0, green: 0.478, blue: 1, alpha: 1)

更新

class MyButton: UIButton {

private let normalColor = UIColor(red: 0, green: 0.478, blue: 1, alpha: 1)
private let highlightedColor = UIColor(red: 0, green: 0.478, blue: 1, alpha: 0.3)

override var highlighted: Bool {
willSet {
if newValue != highlighted {
let anim = CABasicAnimation(keyPath: "borderColor")
anim.fromValue = newValue ? normalColor.CGColor : highlightedColor.CGColor
anim.toValue = newValue ? highlightedColor.CGColor : normalColor.CGColor
layer.borderColor = newValue ? highlightedColor.CGColor : normalColor.CGColor
anim.duration = CATransaction.animationDuration()
anim.timingFunction = CATransaction.animationTimingFunction()
layer.addAnimation(anim, forKey: "MyButton.BorderColor")
}
}
}
}

关于ios - UIButton 边框颜色默认为黑色。如何将其更改为用于设置按钮文本标题的默认(蓝色)颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35712920/

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