我想制作一个左上角和左下角半径= 15的按钮,所以我让这个课程来实现它
class pathBUtton:UIBUtton{
override func layoutSubviews() {
super.layoutSubviews()
let shapeLayer = CAShapeLayer()
let path = UIBezierPath.init(roundedRect: self.bounds, byRoundingCorners: [.topLeft,.bottomLeft], cornerRadii: CGSize.init(width: 15.0, height: 0.0))
shapeLayer.lineWidth = 5.0
shapeLayer.fillColor = UIColor.blue.cgColor
shapeLayer.path = path.cgPath
shapeLayer.strokeColor = UIColor.clear.cgColor
self.backgroundColor = UIColor.clear
self.layer.addSublayer(shapeLayer)
}
将IB中的按钮类设置为pathButton后,按钮文本未显示为image,并且 cashapelayer 不适合按钮框架,白色显示为蓝色。蓝色部分是按钮,白色是视图包含按钮,标签是另一个按钮。 在视图控制器中,我已将视图cornerradius设置为15
valoraView.layer.cornerRadius = 15
但是视图的半径与路径中shapelayer的半径之间存在差异。 所以任何帮助都会被贬低