From 837032a1bdc0c8a6ba4638fd36733b40de01018a Mon Sep 17 00:00:00 2001 From: zhongwuzw Date: Fri, 8 Dec 2017 10:35:37 +0800 Subject: [PATCH] Fix notification observer bug when change the keyboard style --- Sources/Controllers/MessagesViewController.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Sources/Controllers/MessagesViewController.swift b/Sources/Controllers/MessagesViewController.swift index 32b5757b..b43defad 100644 --- a/Sources/Controllers/MessagesViewController.swift +++ b/Sources/Controllers/MessagesViewController.swift @@ -276,19 +276,21 @@ fileprivate extension MessagesViewController { func addKeyboardObservers() { NotificationCenter.default.addObserver(self, selector: #selector(handleKeyboardDidChangeState), name: .UIKeyboardWillChangeFrame, object: nil) - NotificationCenter.default.addObserver(self, selector: #selector(handleTextViewDidBeginEditing), name: .UITextViewTextDidBeginEditing, object: messageInputBar.inputTextView) + NotificationCenter.default.addObserver(self, selector: #selector(handleTextViewDidBeginEditing), name: .UITextViewTextDidBeginEditing, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(adjustScrollViewInset), name: .UIDeviceOrientationDidChange, object: nil) } func removeKeyboardObservers() { NotificationCenter.default.removeObserver(self, name: .UIKeyboardWillChangeFrame, object: nil) - NotificationCenter.default.removeObserver(self, name: .UITextViewTextDidBeginEditing, object: messageInputBar.inputTextView) + NotificationCenter.default.removeObserver(self, name: .UITextViewTextDidBeginEditing, object: nil) NotificationCenter.default.removeObserver(self, name: .UIDeviceOrientationDidChange, object: nil) } @objc func handleTextViewDidBeginEditing(_ notification: Notification) { + if scrollsToBottomOnKeybordBeginsEditing { + guard let inputTextView = notification.object as? InputTextView, inputTextView === messageInputBar.inputTextView else { return } messagesCollectionView.scrollToBottom(animated: true) } }