обнаруживать прикосновение subview uiview, которое анимируется с помощью CAAnimation

Я пытаюсь обнаружить прикосновение к UISubview для анимированного представления

Вот мой код обнаружения:

//simple but not very elegant way of getting correct frame CGRect keepFrame = self.fishContainer.layer.frame; self.fishContainer.layer.frame = [[self.fishContainer.layer presentationLayer] frame]; //get touch location, taking presentation layer into account. (See above) CGPoint p = [sender locationInView:self.fishContainer]; CALayer *layer =[self.fishContainer.layer presentationLayer]; //apply relevant transform p = CGPointApplyAffineTransform(p,layer.affineTransform); EBLog(@"checking point %@",NSStringFromCGPoint(p)); UIView *vToRemove = nil; //find topmost view containing touched point for (UIView *v in self.parasites) { EBLog(@"-BOUND %@",NSStringFromCGRect(v.frame)); if(CGRectContainsPoint(v.frame, p)) { vToRemove = v; } } //OK, we have a view. Let's remove it. if(vToRemove) { EBLog(@"found one"); [vToRemove removeFromSuperview]; [self.parasites removeObject:vToRemove]; if ([self.parasites count] == 0) { [self showWinnerScreen]; [self stopGame]; } } //restore view frame self.fishContainer.layer.frame = keepFrame; 

Все работает правильно, если я не анимирую parasiteArea parentview.

Когда я создаю родительское представление parasiteArea (A CAAnimation состоящее из перемещения вида, масштаба представления и поворота представления), прикосновение выходит за пределы ожидаемого подсмотра.

ОБНОВИТЬ

В большинстве случаев мне приходилось работать с детектированием (см. Код выше), используя свойство presentationLayer и CGPointApplyAffineTransform . Тем не менее, все же есть некоторые случаи, когда он работает dosnt.

Думаю, мне нужно перевести точку касания в координатное пространство CAAnimation .

Или что-то типа того? какие-либо предложения?

One Solution collect form web for “обнаруживать прикосновение subview uiview, которое анимируется с помощью CAAnimation”

Я закончил использование UIView animateWithDuration вместо CAAninmation . Для моей цели достаточно ограниченных возможностей анимации.

  • Как включить / отключить обмен файлами iTunes с помощью приложения iPhone
  • Антенный адаптер iphone для любого датчика
  • Внедрение таймера обратного отсчета в Objective-c?
  • Принимаются ли файлы cookie в UIWebView?
  • выберите / отмените выбор случайных нескольких дат
  • API Facebook, поддерживающий IOS SDK 5
  • Предел размера приложения IOS и данные, хранящиеся на устройстве
  • Как изменить громкость устройства на iOS - не музыкальный объем
  • Получите друзей Google плюс пользователей
  • Можно ли установить максимальный размер видео, например videoMaximumDuration?
  • Как экспортировать массив UIImage в качестве фильма?
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.