Я работаю и iPhone приложение, и у вас есть проблема с распознающим жестом.UIGestureRecognizer на преобразованном слое
Я добавил UITapGestureRecognizer на представление, затем я преобразую слой, связанный с этим представлением, с помощью CABasicAnimation. После этого преобразования распознаватель жестов работает только в области, занимаемой представлением перед преобразованием.
Надеется, что это небольшое описание моей проблемы понятно ..
Вот код:
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myViewTapped:)];
[self.myView addGestureRecognizer:tapGestureRecognizer];
CABasicAnimation * animation = [CABasicAnimation animationWithKeyPath:@"position.y"];
[animation setFromValue:[NSNumber numberWithFloat:0]];
[animation setToValue:[NSNumber numberWithFloat: - 100]];
[animation setDuration:.3];
[animation setTimingFunction:[CAMediaTimingFunction functionWithControlPoints:.55 :-0.25 :.30 :1.4]];
animation.additive = YES;
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;
[self.myView.layer addAnimation:animation forKey:nil];
Как я могу справиться с этой проблемой?
Спасибо!
Спасибо за вашу помощь, я не могу использовать анимацию на основе UIView, потому что Мне нужно использовать настраиваемую кривую ослабления (знаете ли вы, как это сделать?) Я нашел это решение: Я установил ViewController как делегат CABasicAnimation, удалил свойство additive, а затем в методе animationDidStop, I добавлена эта строка кода: self.bottomView.layer.position = CGPointMake (self.bottomView.layer.position.x, [((NSNumber *) ((CABasicAnimation *) anim) .toValue) floatValue]); - Я знаю лучшее решение, если у кого-то есть – hugo