带有角并隐藏底部边框的按钮

问题描述 投票:0回答:1

我想要的结果

The result i want

我得到的是:

what i'm getting

我使用此代码:

    func roundedTopLeftButton(radius : Int, colorBorder : UIColor) {
    // Add border
       let gradient = CAGradientLayer()
       let size = CGSize(width: self.frame.width, height: self.frame.height)
       let rect = CGRect(origin: .zero, size: size)
       gradient.frame =  CGRect(origin: CGPoint.zero, size: size)
       gradient.colors = [UIColor.blue.cgColor, UIColor.green.cgColor]


       let shape = CAShapeLayer()
       shape.lineWidth = 2


       shape.path = UIBezierPath(roundedRect: rect,
       byRoundingCorners: [.topLeft , .topRight],
       cornerRadii: CGSize(width: radius, height: radius)).cgPath
       shape.strokeColor = colorBorder.cgColor
       shape.fillColor = UIColor.clear.cgColor
       gradient.mask = shape

    self.layer.addSublayer(shape)
}

如何为按钮付款隐藏隐藏边框?

swift xcode border uibezierpath
1个回答
0
投票
let path = UIBezierPath() path.move(to: CGPoint(x: 0, y: bounds.size.height)) path.addLine(to: CGPoint(x: 0, y: radius)) path.addArc(withCenter: CGPoint(x: radius, y: radius), radius: radius, startAngle: CGFloat.pi, endAngle: -CGFloat.pi/2.0, clockwise: true) path.addLine(to: CGPoint(x: bounds.size.width - radius, y: 0)) path.addArc(withCenter: CGPoint(x: bounds.width - radius, y: radius), radius: radius, startAngle: -CGFloat.pi/2.0, endAngle: 0, clockwise: true) path.addLine(to: CGPoint(x: bounds.size.width, y: bounds.size.height))
© www.soinside.com 2019 - 2024. All rights reserved.