Отображение определенной ячейки в табличном представлении на основе некоторой логики - PullRequest
0 голосов
/ 10 декабря 2018

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

В swift есть способ прокрутить представление таблицы вниз или сделать что-тоопределенная ячейка видна на экране?Прямо сейчас я знаю только, как прибегнуть к массиву данных и перезагрузить таблицу ... я хочу, чтобы после перезагрузки таблицы была гарантированно определенная ячейка на экране.

Если бы я строил это как упражнениеЯ хотел бы представить массив из 10 имен с идентификатором 1-10, где только 5 могут быть на экране.При касании ячейки табличного представления идентификатор для "nowSelected" сохраняется.Поместите 2 кнопки вверху, где сортирует по имени и <123> по id

Если я выбрал 2-steve, а затем нажал кнопку ABC ... как я могу сделать так, чтобы 2-steve был наэкран, так как на экране одновременно могут отображаться только 5 имен, а Стиву назначается ABC в позиции 7?

<ABC>    <123>
1-dan
2-steve
3-ted
4-carol
5-anne
6-tony
7-linda
8-chris
9-blake
10- tom

1 Ответ

0 голосов
/ 10 декабря 2018

Если вам известен индексный путь ячейки, к которой вы хотите прокрутиться, просто используйте предоставленный метод представления таблицы:

if let indexPath = tableView.indexPathForSelectedRow {
    self.tableView.scrollToRow(at: indexPath, at: .top, animated: true)
}

Или, как правило:

let indexPath = IndexPath(row: 1, section: 0)
self.tableView.scrollToRow(at: indexPath, at: .top, animated: true)

Примечание:строка должна быть значением в диапазоне [0 ... 9] в вашем случае.

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