Переместить UITableViewCell в начало UITableView - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь переместить UITableViewCell в абсолютную верхнюю часть таблицы (IndexPath 0,0). Я пробовал это:

let conversation = conversations[indexPath.row]
conversations.remove(at: indexPath.row)
conversations.insert(conversation, at: 0)
conversationsView.moveRow(at: indexPath, to: IndexPath(row: 0, section: 0))

Это делает то, что я хочу, чтобы он делал: он перемещает ячейку (в настоящее время используется метод didSelectItemAt для целей тестирования) наверх. Однако визуально это не происходит, поскольку я хочу, чтобы это произошло.

Что происходит сейчас, так это то, что ячейка выдвигается вниз и вставляется сверху. Мне нужна какая-то анимация, которая «перемещает» ячейку из текущей позиции (например, IndexPath 4,0 в новую позицию (IndexPath 0,0).

Прекрасным и точным примером этого является Facebook. Messenger. Когда вы находитесь в обзоре всех своих разговоров и получаете сообщение в третьем разговоре, ячейка перемещается «магически» и «визуально», как и следовало ожидать. Такое поведение я хочу повторить.

Может быть важно: я использую TextureGroup (AsyncDisplayKit) в своем приложении, но я думаю, что он должен вести себя как UITableView под капотом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...