Я пытаюсь нарисовать линию с гладкой квадратичной кривой c, прикрепленной к ее концу. Поэтому я использую этот код:
import Foundation
import UIKit
class IndicatingView: UIView {
var path: UIBezierPath!
override init(frame: CGRect) {
super.init(frame: frame)
}
func createLineWithCurve() {
path = UIBezierPath()
path.move(to: CGPoint(x: 0, y: 0))
path.addLine(to: CGPoint(x: 0, y: self.frame.height - self.frame.width))
path.addQuadCurve(to: CGPoint(x: self.frame.width, y: self.frame.height), controlPoint: CGPoint(x: 0, y: self.frame.height))
}
override func draw(_ rect: CGRect) {
self.createLineWithCurve()
path.lineWidth = 3
// Specify a border (stroke) color.
UIColor.purple.setStroke()
path.stroke()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
И вывод, который я получаю, уже выглядит довольно хорошо:
Однако, как видите, четырехугольная кривая толще нормальной линии. Кроме того, четырехугольная кривая, кажется, обрезана внизу. Как я могу это исправить? Я хочу, чтобы путь был абсолютно гладким, не выглядя более жирным в некоторых точках или каким-то образом отрезанным.
Заранее благодарен за помощь:)