自定义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
