我想在用戶單擊我的UIView背景的任何部分時得到通知;基本上如果用戶點擊我的UIView(表格,文本框,按鈕等)上的任何控件。UITapGestureRecognizer識別主視圖(不是輸入或按鈕)上的點擊
我該怎麼辦?我試圖這樣做:
if ([touch.view isKindOf:[UIView class]]) {
do something....
}
但是,顯然所有控件擴展UIView ...所以,我有點卡住了。
我想在用戶單擊我的UIView背景的任何部分時得到通知;基本上如果用戶點擊我的UIView(表格,文本框,按鈕等)上的任何控件。UITapGestureRecognizer識別主視圖(不是輸入或按鈕)上的點擊
我該怎麼辦?我試圖這樣做:
if ([touch.view isKindOf:[UIView class]]) {
do something....
}
但是,顯然所有控件擴展UIView ...所以,我有點卡住了。
你可以這樣做的一種方法是添加一個單獨的背景視圖,它是你VC主視圖的一個子視圖。你可以簡單地使它透明,所以它不會干擾你的造型。地方在所有其他兒童的意見背後。然後在該視圖上註冊您的GR。
你應該能夠做到以下幾點:您的建議
backgroundView.userInteractionEnabled = YES;
UITapGestureRecognizer *tap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapHit:)] autorelease];
[backgroundView addGestureRecognizer:tap];
-(void) tapHit:(UITapGestureRecognizer *tap) {
NSLog(@"background tapped");
}
從來就試過在tabeView但似乎的tableView互動蓋backgroundView交互。有沒有解決方案? – rockstarberlin
謝謝...我會試試看 –