gpt4 book ai didi

ios - 标题未显示在 UIButton 渐变 View 上

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

我有一个渐变类附加到我的 UIButton 并且渐变显示正常。但是,UIButton 的标题或文本未显示。渐变似乎覆盖了文本。这是我的代码:

@IBDesignable
class GradientView: UIButton {

@IBInspectable var topColor: UIColor = #colorLiteral(red: 1, green: 0.0318463631, blue: 0, alpha: 1) {
didSet {
self.setNeedsLayout()
}
}

@IBInspectable var bottomColor: UIColor = #colorLiteral(red: 1, green: 0.4265971184, blue: 0, alpha: 1) {
didSet {
self.setNeedsLayout()
}
}

override func layoutSubviews() {
let gradientLayer = CAGradientLayer()
gradientLayer.colors = [topColor.cgColor, bottomColor.cgColor]
gradientLayer.startPoint = CGPoint(x: 0, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 1, y: 0.5)
gradientLayer.frame = self.bounds
gradientLayer.cornerRadius = layer.cornerRadius
self.layer.insertSublayer(gradientLayer, at: 0)
}
//Rounded Button Functions
@IBInspectable var cornerRadius : CGFloat = 3.0 {
didSet {
self.layer.cornerRadius = cornerRadius
}
}

override func awakeFromNib() {
self.setupView()
}

override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
self.setupView()
}


func setupView() {
self.layer.cornerRadius = cornerRadius
}

@IBInspectable var border : CGFloat = 1.0 {
didSet {
self.layer.borderWidth = border
}
}

@IBInspectable var borderColor: UIColor? {
get {
return UIColor(cgColor: layer.borderColor!)
}
set {
layer.borderColor = newValue?.cgColor
}
}
}

不知道是什么问题。我将此代码用于另一个项目并且显示良好。谢谢

最佳答案

您忘记在 layoutSubviews() 中调用 super.layoutSubviews()

override func layoutSubviews() {
super.layoutSubviews()
// your code
}

关于ios - 标题未显示在 UIButton 渐变 View 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53953261/

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