How to align UIBezierPath circle dashes
Instead, I would recommend drawing each tick individually. Then you can easily control their location.
Something like this:
let path = UIBezierPath()
let innerRadius: CGFloat = 50
let outerRadius: CGFloat = 60
let numTicks = 24
for i in 0..<numTicks {
let angle = CGFloat(i) * CGFloat(2*M_PI) / CGFloat(numTicks)
let inner = CGPoint(x: innerRadius * cos(angle), y: innerRadius * sin(angle))
let outer = CGPoint(x: outerRadius * cos(angle), y: outerRadius * sin(angle))
path.moveToPoint(inner)
path.addLineToPoint(outer)
}
Then you can stroke this path with whatever lineWidth (and lineCapStyle) you want.