gpt4 book ai didi

ios - UITextView 无法在以编程方式创建的 UITableView 中关闭键盘

转载 作者:行者123 更新时间:2023-11-29 03:48:37 25 4
gpt4 key购买 nike

关于这个主题似乎有很多。但我无法让任何解决方案发挥作用。

我的代码创建了一个 tableView ,其中充满了具有不同内容的单元格(基于 JSON),用户应在每个单元格中输入信息。我遇到的问题是,当用户点击单元格外部的某个位置(即在 tableView 背景上)时,我希望键盘关闭。

didSelectRowAtIndexPath: 方法不好。

touchesBegan:根本不触发(tableView启用了用户交互,但我认为还有其他原因)。

我已向 tableView 添加了手势,但无法开始编辑。

我认识resignFirstResponder。但我不知道正在编辑哪个字段。所以我想,我需要使用 endEditing: 方法。但当用户触摸单元格外部时,我无法调用它。

如有任何帮助,我们将不胜感激。

最佳答案

如果这是一个 textField 正如 @JFS 所说,您可以设置 delegate 并在下面的方法中放弃它。

- (BOOL)textFieldShouldReturn:(UITextField *)textField

否则如果这是一个 textView,您可以将带有完成按钮的工具栏作为 inputAccessoryView 添加到您的 textView 并放弃您的 TextView

我还有两个想法

坏主意:
尝试在单元格背景中制作一个不可见的按钮,并添加一个操作方法来退出它。但是,当您使用 UITableViewdidSelectRowAtIndexPath: 方法时,这会变得困惑。

好主意:(好主意)
UITableView 肯定会有 UIScrollview。所以在scrollViewDidScroll:方法中,设置[self endEditing:YES]肯定会起作用。

好主意 2 创建一个新的 ViewButton 并将其放置在所有 View 的顶部,当 textView 正在编辑时并调用 endEditing :用户触摸 View 或按钮时的方法。

在 TABLEVIEW 中获得触摸检测:

其中一些问答会对您有所帮助。

https://stackoverflow.com/a/8787019/1083859

Why does my UITableView not respond to touchesBegan?

https://stackoverflow.com/a/8786706/1083859

关于ios - UITextView 无法在以编程方式创建的 UITableView 中关闭键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17362670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com