0
如果我剛開始的Xcode 4.3.2一個全新的單一視圖應用項目,並使用下面的代碼:在iOS上,爲什麼以下UITapGestureRecognizer(Tap)不起作用?
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
UIImageView *imageView = [[UIImageView alloc]
initWithImage:[UIImage imageNamed:@"pic.jpg"]];
[self.view addSubview:imageView];
self.view.userInteractionEnabled = YES;
self.view.multipleTouchEnabled = YES;
UITapGestureRecognizer* tapRecognizer = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleTap:)];
tapRecognizer.numberOfTapsRequired = 1;
[imageView addGestureRecognizer:tapRecognizer];
}
-(void) handleTap:(UIGestureRecognizer *) gesture {
NSLog(@"Image tapped on");
}
即使我在圖像上挖掘的handleTap
方法不會被調用......是什麼這裏沒有正確完成?
默認userInteractionEnabled是父母真的,但不是爲孩子 –
@Vladimir完美的答案!你有很長一段時間一直在做iOS/Cocoa編程嗎?! –
@safecase,這對UIView類是正確的,但對於某些子類,即UILabel,UIImageView是錯誤的 - 您需要將它設置爲YES明確地爲 – Vladimir