Пожалуйста, измените вашу центральную точку .. Вы видите центральную точку в соответствии с ее супервизором .. вот почему ваш круг не был центром вашего обзора
let circularPath = UIBezierPath(arcCenter: CGPoint(x: bounds.midX, y: bounds.midY), radius: bounds.midX/2, startAngle: -CGFloat.pi / 2, endAngle: 2 * CGFloat.pi, clockwise: true)
Лучше не фиксировать радиус вашего обзора. .. сделайте это динамическим c .. как будто я использовал половину вида ... теперь это связано с размером вида
Также для рисования круга используйте границу линии для округления
shapeLayer.lineCap = .round
Надеюсь, это вам поможет