Используйте CGPathAddArc
вместо CGPathAddEllipseInRect
. Например:
CGFloat radiansForHour(CGFloat hour)
{
return 2 * M_PI * (hour - 3) / 12;
}
...
CGPathAddArc(curvedPath, NULL, 160, 270, 100, radiansForHour(11), radiansForHour(12 + 11), NO);
Обратите внимание, что если вы хотите, чтобы он перемещался в течение 12 часов, параметр endAngle
должен быть на 12 часов больше, чем startAngle
.