gpt4 book ai didi

cocoa-touch - 如何 : hide keyboard when UITextView is out of view?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:27:47 25 4
gpt4 key购买 nike

我已经将一些 UITextView 放入带有自定义单元格的 UITableView(Controller) 中,但我遇到了问题。用户可以点击导航栏中的“编辑”按钮将表格设置为编辑模式——每个自定义单元格都有自己的方式来启用其单独的 UITextViews 以进行文本输入。这很好用。

我遇到的问题是,如果焦点在用户点击“完成”时滚出 View 的 TextView 上,则键盘仍然存在, TextView 仍处于编辑模式。如果 textview 在 View 中,则不会发生这种情况。更具体地说——我正在查看的单元格位于屏幕顶部,如果它滚动到 iPhone 屏幕上方,它会表现得很有趣。当表格底部的 TextView 滚出时,我似乎没有遇到同样的问题。

我已经完成了几乎每一个我能想到的排列来让 View 退出第一响应者,但在我看来,隐藏的 TextView 不会获取/发送任何消息(甚至任何委托(delegate)方法)直到它回到屏幕上或其他一些 TextView 获得焦点。

我错过了什么?

最佳答案

在花了一整天的大部分时间研究这个之后,这就是我学到的东西:

  1. 您实际上无法访问UITableView 中的 View 外单元格。我不过,我猜这是有道理的我的处境令人沮丧
  2. 无需重绘或尝试手动辞职第一响应者是会帮忙,即使你指出到特定的特定单元格行。
  3. setEditing: animated:(当您点击“完成”按钮时调用)并不是唯一发生的事情
  4. 我猜测 UITextView 保持编辑模式的原因是因为单元格的缓存版本处于编辑模式,并且缓存的单元格/数据未被这些不同的表方法(如 setEditing:animated: )

这是我找到的解决方案:(在 UISearchBar and resignFirstResponder ):
* 调用 [self.tableView endEditing:YES] 会导致所有 View 退出第一响应者,这意味着不再选择我的 UITextView。我不确定为什么它以这种方式工作,但似乎 setEditing: 被发送到每个单元格并相应地重新绘制。

关于cocoa-touch - 如何 : hide keyboard when UITextView is out of view?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5671056/

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