0
を使用せずに破線を描画することができます。しかし、どのように私は文脈で破線を描くことができますか?は、それは私が好き破線を描画するUIBezierPath()を使用して知っているUIBezierPath
override func draw(_ rect: CGRect) {
if let context = UIGraphicsGetCurrentContext() {
let startPoint = CGPoint(x: 50, y: 10)
let endPoint = CGPoint(x: rect.width-100, y: 10)
context.setLineDash(phase: 3, lengths: [3,2])
context.setLineWidth(10)
context.move(to: startPoint)
context.addLine(to: endPoint)
context.setStrokeColor(UIColor.red.cgColor)
context.setLineCap(.round)
context.strokePath()
}
}
結果は次のとおりです:間違った
何かコード以下のように関係なく、私は
context.setLineDash(phase: 3, lengths: [3,2])
全体のコードを追加した場合の実線を引くことはできませんか?
正解!ありがとうございました!しかし、ラインの幅が10のとき、ラインキャップの半径は5だと思いますよね?ギャップが2の場合は '' '[3、12]' '' –
@WilliamHuああ、あなたは私の咳*慎重な*咳*ミスを見つけたはずです。ハハ!はい、そうです、半径は10ではなく5になります。今更新する:D – Fogmeister
別の質問がありますか?まず最初に実線を描きたい。しかし、 '' 'context.setLineDash'''の後に私はこのダッシュライン設定をクリーンアップできません、どうすればいいですか? –