Есть ли простой способ наблюдать видимые клетки в UITableView?
Мне нужно отслеживать видимые ячейки в UITableView
, так как определенные события должны происходить, когда ячейки, представляющие определенные фрагменты данных, становятся видимыми. UITableView
, похоже, не соответствует KVO для -indexPathsForVisibleRows
или -visibleCells
, и нет метода UITableViewDelegate
, который дает крючок для уведомления о том, что видимые ячейки изменились.
Есть ли способ сделать это, кроме ручного отслеживания моего собственного массива и добавления / удаления объектов каждый раз, когда я вставляю / удаляю строку, перезагрузите таблицу, или называются методы типа -tableView:cellForRowAtIndexPath:
?
3 ответа:
Как насчет метода UITableViewDelegate:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
Если вы не делаете слишком много экзотических вещей с самой таблицей, таких как переупорядочивание и удаление/вставка строк, вы можете использовать метод scrollviewDidScroll: и другие методы делегата scrollview, которые передаются tableview.
В этом методе вы можете вызвать visibleCells и перейти оттуда.