0

UPDATE添加UITapGestureRecognizer到的UIScrollView

我創造我的ViewController一個UIScrollView。在Drawing.m類中,我使用drawRect在UIScrollView上繪製了一個圖形。我想要將我繪製到ScrollView上的圖形設置爲可點擊。該UITapGestureRecognizer是不工作的,它拋出一個錯誤每次我的形狀挖掘時間(錯誤是:無法識別的選擇發送到實例...)

這裏是我如何使用UITapGestureRecognizer:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] 
             initWithTarget:self.scrollView 
             action:@selector(singleTapGestureCaptured:)]; 
[self.scrollView addGestureRecognizer:singleTap]; 

和方法,應該去:

- (void)singleTapGestureCaptured:(UIGestureRecognizer *)gesture 
{ 
    NSLog(@"I was tapped"); 
} 

如何設置一個UITapGestureRecognizer上繪製一個UIScrollView的形狀?

+1

爲什麼不從父視圖控制器(從你的視圖的超級視圖),然後調用「'presentViewController'」或「performSegue'」從承載你的UIView作爲子視圖的視圖控制器? – 2013-04-29 01:50:06

+0

你是指使用self.super還是self.superview?這兩者都不允許我訪問超級視圖中的任何內容。 – tentmaking 2013-04-29 01:57:57

+0

識別水龍頭的代碼應該在視圖控制器中而不是視圖中,那麼你就不會有這個問題。呈現視圖控制器不是視圖的工作。 – rdelmar 2013-04-29 02:22:25

回答

0

除非目標選擇器在UIScrollView的子類中,否則目標應該是self而不是self.scrollView。它正在崩潰,因爲點擊它試圖在UIScrollView上調用您的-singleTapGestureCaptured:方法,而不是您的UIViewController子類。