当然这个键盘不是通过获取第一响应弹出的,是addsubview
较流行的是使用蒙版,这样整个页面都被蒙版覆盖,点击键盘以外的区域手动关闭,但会有一个问题:原页面的点击事件无法执行
比较好的办法是在键盘的view里面实现- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event方法,通过point可以判断点击的是键盘区域内还是外,在键盘区域外的话收一下键盘,并且也不影响web页面的点击事件
实现代码如下:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
if (point.y < 0) {
//点击其他区域关闭键盘界面
[self remove:nil];
}
UIView *view = [super hitTest:point withEvent: event];
return view;
}