美文网首页
实现点击UITableView空白处撤销键盘

实现点击UITableView空白处撤销键盘

作者: 罗小耳 | 来源:发表于2016-06-30 17:32 被阅读376次

写在前面

之前一直对UItableView点击非TextField处撤销键盘头大,要么是键盘撤销了,结果- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法不响应了;要么是- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法响应,点击Cell可以撤销,但是点击空白处不能撤销键盘;一直也没有找到一个合适的方法,今天终于找到了一个非常好的方法解决这个历史遗留问题。

步入正题

1. 创意一个继承自UITableView的类
2. 重写系统方法
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    id view = [super hitTest:point withEvent:event];
    if (![view isKindOfClass:[UITextView class]]) {
        [self.superview endEditing:YES];
        [self endEditing:YES];
    }
    return view;
}
3. 将需要撤销键盘的TableView继承自上面自定义的TableView即可。

相关文章

网友评论

      本文标题:实现点击UITableView空白处撤销键盘

      本文链接:https://www.haomeiwen.com/subject/mwcfjttx.html