гарантирует, что передаваемое вами значение будет явно установлено после завершения анимации.

даю приложение, которое включает в себя анимацию линий в рабочем пространстве с течением времени. Мой текущий подход для этого состоит в том, чтобы использовать такой код вdrawRect:

CGContextSetStrokeColor(context, black);
CGContextBeginPath(context);
CGContextMoveToPoint(context, startPoint.x, startPoint.y);
CGContextAddLineToPoint(context, finalPoint.x, finalPoint.y);
CGContextStrokePath(context);

... а затем просто установить таймер для запуска каждые 0,05 секунды для обновленияfinalPoint и позвонитьsetNeedsDisplay.

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

Должен быть какой-то лучший способ выполнить это очень простое рисование линий в анимированной линии - то есть сказать, что я хочу, чтобы линия начиналась с x1, y1 и растягивалась до x2, y2 в течение заданного периода времени. Какие у меня варианты для этого? Я должен заставить это работать быстрее и хотел бы избавиться от этого неуклюжего таймера.

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос