2011-10-24 38 views
1

我想在用戶單擊我的UIView背景的任何部分時得到通知;基本上如果用戶點擊我的UIView(表格,文本框,按鈕等)上的任何控件。UITapGestureRecognizer識別主視圖(不是輸入或按鈕)上的點擊

我該怎麼辦?我試圖這樣做:

if ([touch.view isKindOf:[UIView class]]) { 
    do something.... 
} 

但是,顯然所有控件擴展UIView ...所以,我有點卡住了。

回答

1

你可以這樣做的一種方法是添加一個單獨的背景視圖,它是你VC主視圖的一個子視圖。你可以簡單地使它透明,所以它不會干擾你的造型。地方在所有其他兒童的意見背後。然後在該視圖上註冊您的GR。

+0

謝謝...我會試試看 –

2

你應該能夠做到以下幾點:您的建議

backgroundView.userInteractionEnabled = YES; 
UITapGestureRecognizer *tap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapHit:)] autorelease]; 
[backgroundView addGestureRecognizer:tap]; 

-(void) tapHit:(UITapGestureRecognizer *tap) { 
    NSLog(@"background tapped"); 
} 
+0

從來就試過在tabeView但似乎的tableView互動蓋backgroundView交互。有沒有解決方案? – rockstarberlin

相關問題