【发布时间】:2014-06-23 10:36:44
【问题描述】:
我正在使用以下代码检查我的viewcontroller.view 上是否发生了点击。
(PS:我为此添加了点击gesturerecognizer)
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
NSLog(@"\n Clicked view is of type %@",touch.view.class);
if ([touch.view isMemberOfClass:[self class]] || [NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewWrapperView"])
{
return YES;
}
return NO;
}
由于我的viewcontroller.view 包含具有最少行的TableView 和一些其他视图(如文本字段等),当我在表格视图之间的间隙(几行) 和底部的文本字段。
这可能是因为我的 tableview 的框架足够大,可以容纳触摸点,尽管可见的单元格很少
以上代码非常适合关闭键盘以进行此类点击。
我只是担心 Apple 是否会批准包含 UITableViewWrapperView 的代码检查。
~提前致谢
【问题讨论】:
-
尝试使用
UITableView,它应该是下一个响应者。最近添加了包装器视图,它可能会在任何功能 iOs 版本中被静默删除,因此您的代码不安全或“无法完美运行”。 -
所以你的目标是当用户点击表格视图但实际上并没有点击表格上的一行时关闭键盘?问这个问题而不是问“私人”课程
标签: ios iphone objective-c uitableview uigesturerecognizer