MessageInputBar
MessageInputBar copied to clipboard
Can't make message input bar first responder?
I've tried calling: self.becomeFirstResponder() self.messageInputBar.becomeFirstResponder() self.messageInputBar.inputTextView.becomeFirstResponder()
From viewDidLoad, viewWillAppear, and viewDidAppear and I still can't get the keyboard to open automatically for my view controller. For normal text views, calling becomeFirstResponder() should automatically focus them and present the keyboard. What gives? Is there a workaround?
Is the MessageInputBar visible? It's an input accessory view so the view controller needs to be the first responder to have the bar be presented
Sent with GitHawk
Yes the bar is visible. I overrode input accessory view and returned the bar, and overrode can become first responder and returned true. Once the controller is presented I can tap on the text view to activate it, but I can’t automatically focus it.
You can call messageInputBar.inputTextView.becomeFirstResponder() from viewDidAppear(_ animated: Bool).
hello
what if bar is visible, I can type in it, but when send is pressed nothing happens
extension ViewController: MessageInputBarDelegate { func messageInputBar( _ inputBar: MessageInputBar, didPressSendButtonWith text: String) { print("ldldldld") let newMessage = Message( member: member, text: text, messageId: UUID().uuidString)
messages.append(newMessage)
inputBar.inputTextView.text = ""
messagesCollectionView.reloadData()
messagesCollectionView.scrollToBottom(animated: true)
}
}
Seems like this does the trick on latest:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.becomeFirstResponder()
self.messageInputBar.inputTextView.becomeFirstResponder()
}