当文本字段开始编辑时停止 UITableView 滚动

Posted

技术标签:

【中文标题】当文本字段开始编辑时停止 UITableView 滚动【英文标题】:Stop UITableView from scrolling when textfield begin editing 【发布时间】:2019-03-25 06:11:28 【问题描述】:

我们知道,UITableView在滚动时点击会停止滚动,table view的顶部有一个text field,现在我想在text field开始编辑时执行click方法要阻止表格视图滚动,我该如何实现?表格视图滚动时如何执行点击方法。感谢您的每一个回答。

- (void)textFiledTextDidBegin:(UITextField *)textField 
    //stop the tableview from scrolling

【问题讨论】:

看到这个寻求帮助:***.com/questions/9637089/… 我想获取点击方法(在 UITableView 滚动时单击它会停止滚动)并在 UITextField 开始编辑时执行该方法,并且我的 UITextField 位于 UITableView 的顶部,这样我没有看不到 UITextField 的问题。 【参考方案1】:

您可以通过设置contentOffset来强制停止滚动

- (void)textFiledTextDidBegin:(UITextField *)textField 
    [your_tableView setContentOffset:your_tableView.contentOffset animated:NO];

【讨论】:

【参考方案2】:

斯威夫特 5:

我也有同样的问题。这似乎对我有用。

func textFieldDidBeginEditing(_ textField: UITextField) 
        UIOffset.zero
    

【讨论】:

以上是关于当文本字段开始编辑时停止 UITableView 滚动的主要内容,如果未能解决你的问题,请参考以下文章

弹出窗口中的 UITableView 不会停止滚动

切换uitextf时停止键盘关闭

在 UITableView 上 reloadData 后文本字段没有被选中

在 UITableView 中编辑 UITextField(启用/禁用输入)?

如何强制文本字段开始编辑?

具有多行输入字段的 UITableViewCell?