Кварцевые дуги, заливка, обводка и дорожки - PullRequest
0 голосов
/ 18 декабря 2011

)

Мне нужно создать несколько пользовательских кнопок, которые будут на стороне круга (как в этом примере на изображении справа: http://dribbble.com/shots/352571-Game-UI-Bottom-Left)

Iпопытался создать базовую фигуру, используя этот код:

CGContextSetLineWidth(context, 2.0);
CGContextAddArc(context, 200, 200, 100, -M_PI_4, M_PI + M_PI_4, 1);
CGContextAddArc(context, 200, 200, 60, M_PI + M_PI_4,-M_PI_4 , 0);
CGContextClosePath(context);
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
CGContextFillPath(context);
CGContextAddArc(context, 200, 200, 100, -M_PI_4, M_PI + M_PI_4, 1);
CGContextAddArc(context, 200, 200, 60, M_PI + M_PI_4,-M_PI_4 , 0);
CGContextClosePath(context);
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor);
CGContextStrokePath(context);

Я еще не делал Core Core (только мелочи, такие как рисование круга и прочее ...).обведите форму и нарисуйте ее, мне нужно воссоздать путь. Я думаю, что есть много хитроумных способов сделать это правильно?все усложняет;) Спасибо за помощь

1 Ответ

1 голос
/ 11 января 2012

Проверьте следующие функции для создания одного пути:

CGPathCreateMutable()
CGPathAddRect()/CGPathAddRects()
CGContextAddPath()

... и для производительности не забудьте кэшировать этот путь, если вы собираетесь рисовать его несколько раз!

...