2012-05-22 4 views
2

Я приложил жест привязки к представлению, сначала это сработало, но после анимации представление, что жест полностью проигнорирован, пока вид не вернется в исходное положение.UITapGestureRecognizer проигнорирован после анимации

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)]; 
[self.cellView addGestureRecognizer:tap]; 
[tap release]; 

В здесь анимировать вид справа

[UIView animateWithDuration:0.3 
         delay:0.0 
        options:UIViewAnimationOptionAllowUserInteraction 
       animations:^ 
{ 
    [cellView setFrame:CGRectMake(cellViewX, cellView.frame.origin.y, cellView.frame.size.width, cellView.frame.size.height)]; 
    [editView setFrame:CGRectMake(editViewX, editView.frame.origin.y, cellView.frame.size.width, cellView.frame.size.height)]; 
} 
       completion:^(BOOL finished) 
{ 
    NSLog(@"Animation complete"); 
}]; 

Обработчик завершения запускается, но теперь водопроводная жест полностью игнорируется.

ответ

1

Хорошо, получается, я просто сделал глупую ошибку копирования/вставки, я случайно использовал неправильные значения при установке рамки для анимации

[cellView setFrame:CGRectMake(cellViewX, cellView.frame.origin.y, cellView.frame.size.width, cellView.frame.size.height)]; 
[editView setFrame:CGRectMake(editViewX, cellView.frame.origin.y, cellView.frame.size.width, cellView.frame.size.height)]; 

бы быть

[cellView setFrame:CGRectMake(cellViewX, cellView.frame.origin.y, cellView.frame.size.width, cellView.frame.size.height)]; 
[editView setFrame:CGRectMake(editViewX, editView.frame.origin.y, editView.frame.size.width, editView.frame.size.height)]; 

Так что да , когда вы копируете/прошлый код около полуночи, не забудьте дважды проверить его утром! :)

Смежные вопросы