Нарисуйте круг, представляющий оставшееся время - PullRequest
1 голос
/ 07 сентября 2011

Я хочу нарисовать круг в своем приложении.

На самом деле, есть таймер на 20 секунд, и я должен нарисовать круг с красным и зеленым цветами в соответствии с оставшимся временем.

Пожалуйста, помогите мне, если у вас есть код или подобные примеры.

Ответы [ 3 ]

1 голос
/ 07 сентября 2011

Чтобы нарисовать круг, вы можете использовать (в вашем drawRect методе)

CGContextRef context = UIGraphicsGetCurrentContext();   
CGContextBeginPath (context);

CGContextAddArc (context, CENTER_X, CENTER_Y, RADIUS, 0, 2*M_PI, 0);
CGContextDrawPath (context, kCGPathFillStroke);

Для имитации таймера вы можете использовать CGContextAddLineToPoint и CGContextMoveToPoint для рисования линий и CGContextSetFillColor для изменения текущего цвета заливки.

Проверка CGContext Reference

0 голосов
/ 07 сентября 2011

Я знаю MBProgressHUD на GitHub обладает такой способностью. Я использовал это раньше, и это очень легко реализовать.

0 голосов
/ 07 сентября 2011

Это не полный ответ, но я надеюсь, что это поможет: вы, вероятно, хотите посмотреть документацию для следующих функций:

  • CGContextAddArc
  • CGContextAddArcToPoint
  • CGContextFillEllipseInRect
  • CGContextStrokeEllipseInRect

И поиск Google для этих функций, вероятно, найдет несколько полезных примеров кода.

...