(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 即可.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容