gpt4 book ai didi

ios - 自定义 inputaccessoryView 中的 UITextView 不放弃第一响应者状态

转载 作者:IT王子 更新时间:2023-10-29 05:17:46 25 4
gpt4 key购买 nike

我有一个聊天应用程序,它实现了一个 float 文本输入字段(类似于 iOS 消息应用程序)作为我的 ChatViewControllerinputAccessoryView(请参阅 Apple's documentation)。

class ChatViewController: UIViewController {

override var inputAccessoryView: UIView? {
return chatInputView
}

override var canBecomeFirstResponder: Bool {
return true
}
...

我的 ChatViewController 有一个 ChatTableViewController subview Controller ,它有包含 UITextField 的单元格,其文本内容是可编辑的。我遇到的问题是,当用户点击单元格的 UITextField 时,inputAccessoryViewUITextView 拒绝退出第一响应者状态,这会阻止 UITableViewCell 中的内容被编辑。控制台中记录了以下警告:

 First responder warning: '<UITextView: 0x7fc041041c00; 
frame = ...' rejected resignFirstResponder when being removed from hierarchy

我已经尝试在 UIInputViewUITextView 上直接调用 resignFirstResponderendEditing 但没有成功。我不希望 ChatViewController 退出第一响应者状态,因为这会导致 inputAccessoryView 消失。

编辑:我在交互关闭键盘时也收到警告(而不是点击 UITableViewCellUITextField

最佳答案

请检查以下内容:

如果 UITextView 从 super View 中移除:

  • UITextView 是否从 View 层次结构中删除?
  • 如果可以,您可以在将其从 super View 中删除之前resignFirstResponder

如果使用 UITextView 子类:

  • 您是否正在使用 UITextView 的子类,如果是,您是否实现了 canResignFirstResponder 以返回 false
  • 您可以尝试返回 true 吗?

关于ios - 自定义 inputaccessoryView 中的 UITextView 不放弃第一响应者状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47866041/

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