reloadData только для видимых ячеек tableView - PullRequest
13 голосов
/ 07 февраля 2011

Возможно ли это?Перезагружать только видимые ячейки, чтобы сделать это более эффективным.

Ответы [ 3 ]

25 голосов
/ 07 февраля 2011

Так по умолчанию работают представления таблиц. Класс UITableView никогда не загружает ячейки, пока они не появятся на экране, даже когда вы звоните reloadData.

13 голосов
/ 30 марта 2016

Попробуйте, Вы можете перезагрузить любую ячейку таблицы, используя reloadRowsAtIndexPaths:

[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:[self.tableView indexPathsForVisibleRows]
                 withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
9 голосов
/ 08 декабря 2016

Чтобы перезагрузить видимые ячейки таблицы в Swift 3.0:

pTableView.beginUpdates()

pTableView.reloadRows(at:
pMessagesTableView.indexPathsForVisibleRows!, with: .none)

pTableView.endUpdates()
...