2016-09-19 2 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

Я думаю, что ваша линия порезов, так как вы используете максимальную рамку, чтобы нарисовать линию, уменьшите значения max, min на 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

line cap стиль настраивает стиль окончания строки. У вас есть замкнутый путь, т. Е. У вас нет окончания строки.

Возможно, вы ищете линию , присоединяющую линию, которая влияет на все «углы» или «вершины» пути.

В качестве альтернативы, если вы просто хотите прямой, не закрывайте путь. В противном случае вы получаете два сегмента: один от начальной точки до конечной точки, а другой - до начала.