自定义inputaccessoryView中的UITextView不会退出第一响应者状态
我有一个实现浮动文本输入框(类似于iOS的消息应用程序中)聊天应用为inputAccessoryView
我的ChatViewController
(见苹果的文档)。
class ChatViewController: UIViewController {
override var inputAccessoryView: UIView? {
return chatInputView
}
override var canBecomeFirstResponder: Bool {
return true
}
...
我的ChatViewController
有一个ChatTableViewController
子视图控制器,它具有包含文本内容可编辑的UITextField
的单元格。 我遇到的问题是,当用户点击单元格的UITextField
, inputAccessoryView
的UITextView
拒绝退出第一响应者状态,这会阻止编辑UITableViewCell
的内容。 在控制台中记录以下警告:
First responder warning: '<UITextView: 0x7fc041041c00;
frame = ...' rejected resignFirstResponder when being removed from hierarchy
我已经尝试直接调用resignFirstResponder
和endEditing
在UIInputView
和UITextView
,但没有成功。 我不希望ChatViewController
退出第一响应者状态,因为这会导致inputAccessoryView
消失。
编辑:我交互式地解除键盘时也会收到警告(而不是在UITableViewCell
的UITextField
上敲击。
您能否请检查以下内容:
如果UITextView
从超级视图中删除:
UITextView
是从视图层次结构中移除的吗? resignFirstResponder
从超级视图中删除。 如果正在使用UITextView
子类:
UITextView
的子类,如果是的话,您是否实现了canResignFirstResponder
以返回false
。 true
吗? 上一篇: UITextView in custom inputaccessoryView not resigning first responder status
下一篇: Dismiss UISearchBar keyboard without affecting cancel button