2017-08-01 76 views
1

我使用bezier路徑在我的UI按鈕上添加了一個圓角邊框。 我總是有一個額外的線,我不想要。貝塞爾路徑繪製附加行

代碼這裏

let maskLayer = CAShapeLayer() 
    maskLayer.frame = self.bounds 
    maskLayer.path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: cornerRadius, height: 2)).cgPath 
    self.layer.mask = maskLayer 
    // Add border 
    let borderLayer = CAShapeLayer() 
    borderLayer.path = maskLayer.path // Reuse the Bezier path 
    borderLayer.fillColor = UIColor.clear.cgColor 
    borderLayer.strokeColor = UIColor.white.cgColor 
    borderLayer.lineWidth = 1 
    borderLayer.frame = self.bounds 
    self.layer.addSublayer(borderLayer) 

截圖 Screenshot

謝謝你們!

+1

你爲什麼不使用邊框寬度? – Phyber

+0

我以爲它不支持圓角半徑!感謝它的工作 –

回答

1

我建議這樣的代碼:

button.layer.borderWidth = 2.0 
button.layer.borderColor = UIColor.white.cgColor 
button.layer.cornerRadius = 5.0 
button.layer.masksToBounds