Я пытаюсь создать индикатор прогресса в виде прямоугольника с закругленными углами в моем приложении.Ранее я реализовал круговой индикатор, но не как эта форма.Я бы хотел, чтобы это выглядело примерно так (начальная точка находится сверху):
Но я получаю это с 0
в качестве .strokeStart
свойство слоя:
Мой текущий код находится в viewDidLoad()
:
let queueShapeLayer = CAShapeLayer()
let queuePath = UIBezierPath(roundedRect: addToQueue.frame, cornerRadius: addToQueue.layer.cornerRadius)
queueShapeLayer.path = queuePath.cgPath
queueShapeLayer.lineWidth = 5
queueShapeLayer.strokeColor = UIColor.white.cgColor
queueShapeLayer.fillColor = UIColor.clear.cgColor
queueShapeLayer.strokeStart = 0
queueShapeLayer.strokeEnd = 0.5
view.layer.addSublayer(queueShapeLayer)
addToQueue
- это кнопка с надписью «Upvote».
В отличие от создания кругового индикатора прогресса, я не могу установить начальный и конечный угол при инициализации пути Безье.
Какначать прогресс с верхней середины, как показано на первом изображении?
Редактировать - добавлено изображение без радиуса угла:
Кажется, что угловой радиус создает проблему.
Если у вас есть какие-либо вопросы, пожалуйста, задавайте!