我有一个聊天应用程序实现浮动文本输入字段(类似于iOS消息应用程序)作为inputAccessoryView我的ChatViewController(请参阅Apple的文档).
class ChatViewController: UIViewController {
override var inputAccessoryView: UIView? {
return chatInputView
}
override var canBecomeFirstResponder: Bool {
return true
}
...
Run Code Online (Sandbox Code Playgroud)
我ChatViewController有一个ChatTableViewController子视图控制器,它有包含UITextFields的单元格,其文本内容是可编辑的.我遇到的问题是,当用户点击一个单元格UITextField,在inputAccessoryView的UITextView拒绝辞职第一响应状态,以防止在内容UITableViewCell被编辑.控制台中记录以下警告:
First responder warning: '<UITextView: 0x7fc041041c00;
frame = ...' rejected resignFirstResponder when being removed from hierarchy
Run Code Online (Sandbox Code Playgroud)
我已经打过电话resignFirstResponder,并endEditing在UIInputView和UITextView直接,但没有成功.我不希望ChatViewController辞职第一响应者状态,因为这将导致inputAccessoryView消失.
编辑:我也会在交互式解除键盘时收到警告(而不是点击它UITableViewCell的UITextField.
您能否检查以下内容:
UITextView从超级视图中删除:UITextView从视图层次结构中删除?resignFirstResponder在将其从超级视图中删除之前。UITextView正在使用子类:UITextView,如果是,您是否实现了canResignFirstResponderreturn false。true吗?| 归档时间: |
|
| 查看次数: |
3056 次 |
| 最近记录: |