Как анимировать рисование линий при разработке iPhone? - PullRequest
2 голосов
/ 17 апреля 2010

Я искал вокруг, но, кажется, нет хорошего ответа на этот простой вопрос. Поэтому я снова спрашиваю: как анимировать рисование линий в iphone dev?

В основном я хочу что-то вроде этого:

@implementation MyUIView

- (void) triggerLineDrawing: (CGPathRef) path {
   ...
   // animate line drawing here
   // and the line should disappear automatically after a few seconds
}

Можно ли это сделать?

1 Ответ

0 голосов
/ 19 апреля 2010

Вы не можете сделать это автоматически, только рукой. Чтобы сделать это вручную, вы должны сделать что-то вроде этого:

  • создать массив точек вашей линии.
  • запустить NSTimer, который будет срабатывать, например, 15 раз в секунду.
  • каждый тик таймера, который вы должны выяснить, какую часть линии вам нужно нарисовать (посмотрите на линейную интерполяцию)
  • обновить путь, который вы рисуете (только с необходимыми точками + последняя точка, которая движется)
  • отправить сообщение setNeedsDraw для просмотра.

Вы можете изменять алгоритм интерполяции, скорость рисования линий и т. Д., Чтобы получить нужный эффект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...