我有一个聊天应用程序,它实现了一个浮动文本输入字段(类似于iOS消息应用程序)作为inputAccessoryView
的{{1}}(请参阅Apple's documentation)。
ChatViewController
我的class ChatViewController: UIViewController {
override var inputAccessoryView: UIView? {
return chatInputView
}
override var canBecomeFirstResponder: Bool {
return true
}
...
有一个ChatViewController
子视图控制器,其中的单元格包含ChatTableViewController
个文本内容可编辑的单元格。我遇到的问题是,当用户点击单元格的UITextField
时,UITextField
的{{1}}拒绝重新签署第一响应者状态,这会阻止inputAccessoryView
中的内容1}}来自编辑。控制台中记录以下警告:
UITextView
我尝试直接在UITableViewCell
和 First responder warning: '<UITextView: 0x7fc041041c00;
frame = ...' rejected resignFirstResponder when being removed from hierarchy
上调用resignFirstResponder
和endEditing
但没有成功。我不希望UIInputView
重新签署第一响应者状态,因为这会导致UITextView
消失。
编辑:我还会在以交互方式解除键盘时收到警告(而不是点击ChatViewController
的{{1}}。
答案 0 :(得分:1)
请您查看以下内容:
UITextView
:UITextView
是否已从视图层次结构中删除? resignFirstResponder
。UITextView
子类:UITextView
的子类,如果是,请执行canResignFirstResponder
以返回false
。 true
。答案 1 :(得分:0)
我的解决方案:
按隐藏键盘时仍然有警告消息,但是对我来说很好。
答案 2 :(得分:0)
在使用iOS消息应用程序和whatsApp时也会显示此警告。没有已知的方法可以消除这种情况。它没有负面影响,我相信我们应该忽略它。