Я пытаюсь создать распознаватель жестов для простого UIView:
UIView *theView = [[UIView alloc] initWithFrame:rect];
[theView setUserInteractionEnabled:YES];
UITapGestureRecognizer *tap = [[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleTap)] autorelease];
[theView addGestureRecognizer:tap];
Если я отлаживаю свойство gestureRecognizers представления, он показывает объект распознавателя жестов. Но когда я нажимаю внутри представления, это не работает.
Тот же код, использующий UIImageView, работает отлично, есть идеи, почему не работает в UIView?
ОБНОВЛЕНО:
Пример класса.
@implementation ExampleClass
- (UIView *)getViewInRect:(CGRect)rect
{
UIView *theView = [[UIView alloc] initWithRect:rect];
[theView setUserInteractionEnabled:YES];
UITapGestureRecognizer *tap = [[[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(handleTap)]
autorelease];
[aText addGestureRecognizer:tap];
return theView;
}
- (UIImageView *)getImageViewInRect:(CGRect)rect
{
UIImageView *theView = [[UIImageView alloc] initWithRect:rect];
[theView setUserInteractionEnabled:YES];
UITapGestureRecognizer *tap = [[[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(handleTap)]
autorelease];
[theView addGestureRecognizer:tap];
return [theView autorelease];
}
- (void)handleTap
{
NSLog(@"Tap Handled!!", nil);
}
@end
ОБНОВЛЕНО 2:
Добавление UITapGestureRecognizer во все подвиды View не решает проблему ...
ИСПРАВИТЬ !!!
ОК !! Проблема заключалась в CGRect для theView, для него было установлено значение 0,0 !!!