Обновление: на самом деле это было так просто, как не анимировать элемент пользовательского интерфейса при использовании касаний. Он отлично следует за штрихами теперь без запаздывания.CABasicAnimation speed - Сохранение пользовательского ввода
В настоящее время я пытаюсь реализовать функцию пользовательского интерфейса, реализуя подкласс CALayer внутри подкласса UIView. Я получаю события касания в пользовательском контроллере представления UIVIew, уведомляю UIView о касаниях, который, в свою очередь, уведомляет CALayer, чтобы анимировать элементы пользовательского интерфейса, нарисованные на этом слое.
Все работает, но я заметил, что когда происходит большая дельта в движении (как при быстрой прокрутке пальца), CABasicAnimation отстает. В идеале я хочу, чтобы анимация оставалась идеально совмещенной с пальцем пользователя.
Я придумал Hacky способом просто установив скорость анимации в произвольно высокой, как в
anim.speed = 10.0f;
, который по существу сохраняет с пальцем пользователя, но я чувствую, что это общая хак и не судоходное решение. Должен ли я искусственно ограничивать, сколько сенсорных событий обрабатывается для решения этой проблемы? Есть ли какой-то расчет, который я должен делать для скорости/продолжительности анимации, о которой я не знаю?
Спасибо за любую помощь!
После того, как я опубликовал это, у меня на самом деле была та же идея отключить анимацию, за исключением тех, которые вы упомянули. Это звучит многообещающе; Я вернусь сюда после того, как я его осуществлю, и сообщит вам, исправляет ли он проблему с задержкой. Спасибо за ответ! –