Skip to content

Commit 2c7ebe2

Browse files
authored
Merge pull request #7 from quipper/fix_reload
avoid unneeded offset update
2 parents ca81444 + 49d70ac commit 2c7ebe2

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

Example/Sources/View Controllers/AnnouncementExampleViewController.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ class AnnouncementExampleViewController: MessagesViewController {
3131
conversationMessages = ConversationMessageMockFactory.getConversations()
3232
}
3333

34+
override func viewDidAppear(_ animated: Bool) {
35+
super.viewDidAppear(animated)
36+
37+
messagesCollectionView.reloadDataAndKeepOffset()
38+
}
39+
3440
func configureMessageCollectionView() {
3541

3642
if let layout = messagesCollectionView.collectionViewLayout as? MessagesCollectionViewFlowLayout {

Sources/Views/MessagesCollectionView.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@ open class MessagesCollectionView: UICollectionView {
126126
let newOffset = CGPoint(
127127
x: contentOffset.x + (afterContentSize.width - beforeContentSize.width),
128128
y: contentOffset.y + (afterContentSize.height - beforeContentSize.height))
129+
// if offset.y is smaller than contentSize, no need to update contentOffset
130+
guard newOffset.y >= contentSize.height else {
131+
return
132+
}
129133
setContentOffset(newOffset, animated: false)
130134
}
131135

0 commit comments

Comments
 (0)