自定义inputaccessoryView中的UITextView不会退出第一响应者状态

我有一个实现浮动文本输入框(类似于iOS的消息应用程序中)聊天应用为inputAccessoryView我的ChatViewController (见苹果的文档)。

class ChatViewController: UIViewController {

    override var inputAccessoryView: UIView? {
       return chatInputView
    }

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

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

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

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

编辑:我交互式地解除键盘时也会收到警告(而不是在UITableViewCellUITextField上敲击。


您能否请检查以下内容:

如果UITextView从超级视图中删除:

  • UITextView是从视图层次结构中移除的吗?
  • 如果是这样,你可以resignFirstResponder从超级视图中删除。
  • 如果正在使用UITextView子类:

  • 您是否使用UITextView的子类,如果是的话,您是否实现了canResignFirstResponder以返回false
  • 你可以尝试返回true吗?
  • 链接地址: http://www.djcxy.com/p/7707.html

    上一篇: UITextView in custom inputaccessoryView not resigning first responder status

    下一篇: Dismiss UISearchBar keyboard without affecting cancel button