Я хочу создать распознаватель жестов для простого UIView:
UIView *theView = [[UIView alloc] initWithFrame:rect];
[theView setUserInteractionEnabled:YES];
UITapGestureRecognizer *tap = [[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleTap)] autorelease];
[theView addGestureRecognizer:tap];
Если я отлаживаю свойство gestRecognizer представления, оно показывает объект распознавателя жестов. Но когда я нажимаю на изображение, оно не работает.
Тот же код, использующий 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 во все подпредставления theView не решает проблему ...
ИСПРАВИТЬ ЭТО !!!
OK !! Проблема была в CGRect для theView, ширина которого была равна 0.0 !!!