2012-09-17 99 views
1

我正試圖在UIImageView上實現點擊手勢識別器。但是我無法獲得處理輕敲事件的方法。我將我的代碼與stackoverflow上許多類似問題的答案進行了比較,但問題仍然存在。以下是我的應用程序的相關代碼。有人能告訴我我做錯了什麼嗎?在UIImageView上點擊手勢事件不會觸發

ViewController.h

IBOutlet UIImageView *topLeftImage; 

-(IBAction)handleSingleTap:(UITapGestureRecognizer*)gestureView; 

ViewController.m

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 

    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)]; 
    topLeftImage.userInteractionEnabled = YES; 
    [topLeftImage addGestureRecognizer:singleTap]; 

} 

- (void)handleSingleTap:(UITapGestureRecognizer *)gestureRecognizer { 

    NSLog(@"Tap detected. Booyah!"); 
} 

回答

5

試試這個。你把你的代碼放在viewDidUnload中,完全是錯誤的地方。你想要viewDidLoad。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)]; 
    topLeftImage.userInteractionEnabled = YES; 
    [topLeftImage addGestureRecognizer:singleTap]; 

} 
+0

多麼尷尬!我只是在這個愚蠢的錯誤上燒了很多時間。謝謝你指出! – hughesdan

+1

歡迎您。當你多次檢查代碼時,事情仍然不能按照你想要的方式工作,我總是設置一個斷點來確保代碼實際上被調用。 – brynbodayle