我正在使用MessageKit 3.0.0-swift5
分支进行聊天。
点击消息,我正在展示ViewController。
关闭Viewcontroller后,我将无法访问InputBar。
有人遇到这个问题吗?
查看视频here。
代码:
// MessageCellDelegate
func didTapMessage(in cell: MessageCollectionViewCell) {
self.showFileInBrowser(withTitle: "", url: fileURL)
}
func showFileInBrowser(withTitle title: String? = nil, url: URL) {
self.fileBrowser = FileBrowserViewController(title: title, url: url)
let navigation = BaseNavigationController(rootViewController: fileBrowser!)
self.present(navigation, animated: true, completion: nil)
}
// FileBrowserViewController
@objc func closeButtonTapped() {
self.dismiss(animated: true, completion: nil)
}
我也在使用 IQKeyboardManager ,但是以下解决方案不起作用。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
IQKeyboardManager.shared().isEnabled = false
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
IQKeyboardManager.shared().isEnabled = true
}
答案 0 :(得分:0)
我认为您必须先通过TextView.resignFirstResponder()
提出下一个ViewController禁用键盘,因为问题是在ViewController提出时开始的
答案 1 :(得分:0)
我之前也遇到过这个问题,但是我尝试通过添加以下代码来展示//my js file
var traceback = require("traceback");
var log=require('./LogHandler');
function GetAllStudents (){
var stack =new traceback();
console.log('MethodName' + stack[0].name + ' fileName ' + stack[0].file)
}
。希望它能工作。
nextViewController
答案 2 :(得分:0)
我在应用程序中遇到了同样的问题,即仅使用InputBarViewController
(出于某些原因,我不得不实现自己的聊天,而不是使用MessageKit)。
因此,如果您尝试不从当前控制器显示某些模式视图控制器,或者甚至将第一响应者焦点移至当前VC中的另一个UITextField
(例如,搜索字段),则很容易重现此问题。
对我而言,工作解决方案是在从搜索字段中或在becomeFirstResponder
内部(或您可以确定的其他地方,再次显示聊天UI)退出控件后,在当前视图控制器实例上调用viewDidAppear
。
P.S。当UIContextMenu
(单元格中的长时间触摸)被取消时,我也遇到了这个问题。解决方案几乎相同。