Swift Как показывать самые последние сообщения Firebase без сбоев при прокрутке до последнего индекса

#swift #firebase-realtime-database #uicollectionview #scrolltoindex

#swift #firebase-база данных в реальном времени #uicollectionview #scrolltoindex

Вопрос:

Я пытаюсь понять, как показывать только последние сообщения, как instagram и Facebook, когда вы нажимаете на чат (в моем случае только одно между двумя пользователями).

После того, как я просматриваю все сообщения, я затем выполняю это, которое, я думаю, является стандартным

 DispatchQueue.main.async(execute: {
     //scroll to the last index
     self.collectionView.reloadData()
     let indexPath = IndexPath(item: self.messages.count - 1, section: 0)
     self.collectionView?.scrollToItem(at: indexPath, at: .bottom, animated: false)
})
  

К сожалению, при этом прокрутка сообщений будет отображаться с очень большими сбоями, и это происходит каждый раз, когда я открываю чат. Я не смог найти способ показывать самые последние сообщения онлайн. Кажется, все используют scrollToItem (анимированный не имеет значения, потому что в любом случае он выглядит прерывистым). Как мне просто показывать самые последние сообщения каждый раз, когда я нажимаю на чат??

Комментарии:

1. Анимация имеет значение. Он определяет либо мгновенную прокрутку до индексации, либо с небольшой анимацией путем прокрутки других элементов.

2. Хорошо, но в моем случае анимированное false все еще показывает долю секунды прокрутки. Так что для меня это все еще проблема. Предполагается, что animated: false вообще не показывает никаких признаков прокрутки?

3. Нет, это не значит, что это вообще не будет отображаться. Он все еще прокручивает их, но мгновенно.

4. хорошо, вот почему я сказал, что анимация не имеет значения. Потому что в любом случае это выглядит прерывисто. Если кто-то знает альтернативу scrollingToIndex, пожалуйста, дайте мне знать.