diff --git a/Sources/Controllers/MessagesViewController+Keyboard.swift b/Sources/Controllers/MessagesViewController+Keyboard.swift index be372331..7cb07c3d 100644 --- a/Sources/Controllers/MessagesViewController+Keyboard.swift +++ b/Sources/Controllers/MessagesViewController+Keyboard.swift @@ -69,6 +69,20 @@ extension MessagesViewController { } .store(in: &disposeBag) + NotificationCenter.default + .publisher(for: UITextInputMode.currentInputModeDidChangeNotification) + .subscribe(on: DispatchQueue.global()) + .receive(on: DispatchQueue.main) + .removeDuplicates() + .sink { [weak self] _ in + self?.updateMessageCollectionViewBottomInset() + + if !(self?.maintainPositionOnInputBarHeightChanged ?? false) { + self?.messagesCollectionView.scrollToLastItem() + } + } + .store(in: &disposeBag) + /// Observe frame change of the input bar container to update collectioView bottom inset inputContainerView.publisher(for: \.center) .receive(on: DispatchQueue.main)