(UILabel) - iOS13下添加圆角和渐变, 文字丢失

创建一个UILabel, 添加一下代码

let path = UIBezierPath(roundedRect: btn.bounds, byRoundingCorners: [.topLeft, .bottomLeft], cornerRadii: CGSize(width: 13, height: 13))
let maskLayer = CAShapeLayer()
maskLayer.frame = btn.bounds
maskLayer.path = path.cgPath
btn.layer.mask = maskLayer

let gradientLayer = CAGradientLayer()
gradientLayer.colors = cgColors
gradientLayer.locations = [0, 1]
gradientLayer.frame = btn.bounds
gradientLayer.startPoint = CGPoint(x: 0, y: 0)
gradientLayer.endPoint = CGPoint(x: 1, y: 1)
btn.layer.insertSublayer(gradientLayer, at: 0)      

iOS12显示正常, 有圆角、渐变、文字, 但是iOS13不显示文字, 原因待查(感觉是layer层的问题)

解决办法: 更换为 UIButton 即可.

你可能感兴趣的:((UILabel) - iOS13下添加圆角和渐变, 文字丢失)