2016-09-19 3 views
2

を動作しません。これは私のコードです:設定ラインキャップスタイルはUIBezierPath

let cross = UIBezierPath() 
    cross.move(to: CGPoint(x: skull.bounds.maxX, y: skull.bounds.minY)) 
    cross.addLine(to: CGPoint(x: skull.bounds.minX, y: skull.bounds.maxY)) 
    cross.close() 
    UIColor.red.set() 
    cross.lineWidth = 3.0 
    cross.lineCapStyle = .round 
    cross.stroke() 

私は行の終わりを丸くしたいが、それは私がそれを行うべきか、まだ平方ですか?

+0

を助けることを願って、最大値、最小値を5ずつ減らして、どうなるか見てみましょう。 – iphonic

答えて

3

、私はあなたが線を描画するために、最大フレームを使用しているので、あなたのラインをカットなっていると思う、それは

let cross = UIBezierPath() 
cross.moveToPoint(CGPoint(x: 10, y: 100)) // your point 
cross.addLineToPoint(CGPoint(x: 100, y: 10)) // your point 
cross.closePath() 
cross.lineWidth = 23.0 
cross.lineJoinStyle = .Round 
cross.stroke() 

結果

enter image description here

2

ラインキャップスタイルは、行末のスタイルを設定します。パスを閉じています。つまり、行末がありません。

ライン結合スタイルを探しています。このスタイルは、パスのすべての「コーナー」または「頂点」に影響します。

また、まっすぐにしたい場合は、パスを閉じないでください。それ以外の場合は、開始点から終了点までの線分と、開始点までの線分の2つの線分が得られます。ただ遊び場でテスト