Я создаю приложение для iPhone, которое включает в себя всплывающие подсказки (UIImageViews) из нижней части экрана и перемещения к верхней части экрана.
Цель состоит в том, чтобы настроить UIImageViews таким образом, чтобы жест касания на шарике приводил к удалению шариков с экрана.
Я настроил GestureRecognizer, и касания распознаются.
Проблема, с которой я сталкиваюсь, заключается в том, что используемый мной метод анимации не предоставляет информацию о том, где воздушный шар рисуется в конкретный момент времени, и обрабатывает его как уже достигнутый конечный момент, о котором говорилось.
Это вызывает проблему распознавания касаний только в верхней части экрана (который является конечным пунктом назначения аэростата).
Я вставил свой код для анимации здесь:
UIViewAnimationOptions options = UIViewAnimationOptionBeginFromCurrentState|UIViewAnimationOptionAllowUserInteraction;
[UIView animateWithDuration:2.0 delay:0.0 options:options animations:^{
balloonImageView.center = p;
} completion:^(BOOL finished) {
if (finished) {
balloonImageView.hidden= TRUE;
balloonImageView.image=nil;
}
Я отслеживаю, где находится изображение, присваивая уникальный тег UIImageView и проверяя, если gest.view.tag = anyBalloonObject.tag и удаляет ли я шарик.
Мой основной вопрос: есть ли другой инструмент анимации, который я могу использовать? Я понимаю, что могу установить конечную точку аэростата немного выше, чем на экране, пока он не достигнет вершины, но кажется, что это очень обременительно для памяти.
У вас есть какие-нибудь рекомендации? Я просмотрел справочник по Core Animation и не нашел методов, подходящих для моих нужд.
Кроме того, многопоточность UIViewAnimation повлияет на точность системы ответвлений?
Спасибо,
Vik