bugfix> swift > 投稿

UIViewの境界線で左下と右下の角の半径を設定したいここにコードがあります。 **問題は、1.5ボーダーでSHARPを表示しないことです**

class BorderView: UIView {
  override func draw(_ rect: CGRect) {
    let color = UIColor.red
    let color2 = UIColor.brown
    //// Rectangle Drawing
    let rectanglePath = UIBezierPath(roundedRect: CGRect(x: 0, y: 0, width: 200, height: 200), byRoundingCorners: [.bottomRight, .bottomLeft], cornerRadii: CGSize(width: 10, height: 10))
    rectanglePath.close()
    color2.setFill()
    rectanglePath.fill()
    color.set()
    rectanglePath.lineWidth = 1.5
    rectanglePath.stroke()
 }
}

出力 

期待される出力

回答 1 件
  • CALayer でborderおよびcornerプロパティを使用する場合 、それはあなたのためにすべてを行う必要があります。

    // Probably inside init
    layer.borderWidth = 1.5
    layer.borderColor = UIColor.red.cgColor
    layer.cornerRadius = 10
    layer.maskedCorners = [.layerMinXMaxYCorner, .layerMaxXMaxYCorner]
    
    

あなたの答え