iOS-让TableViewCell的TextField收起输入

2018-03-27  本文已影响0人  900d4934decf

TableView中难免会在cell里添加TextField或者TextView,但是发现在添加

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [self.view endEditing:YES];
}

代码后并不起作用。

原因是在点击事件已经在TableView上被响应了,换成下面的方法都OK。
点击收起键盘:

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyBoard)];
    tapGestureRecognizer.cancelsTouchesInView = NO;//默认为YES,会吸收didSelect事件
    [self.tableView addGestureRecognizer:tapGestureRecognizer];

滑动收起键盘:
self.tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;

当然,方法还有很多,只是其中一个思路。

上一篇下一篇

猜你喜欢

热点阅读