iPhone dev - Как я могу узнать во время выполнения, какая верхняя ячейка отображается в UITableView? - PullRequest
0 голосов
/ 10 августа 2011

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

Ответы [ 4 ]

2 голосов
/ 10 августа 2011

visibleCells и indexPathsForVisibleRows - это то, что вы ищете.

  • visibleCells возвращает массив UITableViewCell объектов.

  • indexPathForVisibleRows возвращает массив NSIndexPath объектов.

2 голосов
/ 10 августа 2011

Вы можете использовать -[UITableView indexPathsForVisibleRows], который возвращает NSArray NSIndexPaths для всех видимых строк.Если вам нужно получить доступ к фактической ячейке, вы можете использовать -[UITableView cellForRowAtIndexPath:] на отдельном NSIndexPath или вы можете использовать -[UITableView visibleCells], чтобы получить массив реальных ячеек.

0 голосов
/ 10 августа 2011
UITableViewCell *thisCell = (UITableViewCell*)[tableView cellForRowAtIndexPath:[myArray objectAtIndex:0]];

Тогда thisCell является действительной ячейкой, поэтому вы можете вызывать такие вещи, как thisCell.textLabel.text или любые другие свойства ячеек.

0 голосов
/ 10 августа 2011

В - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath попробуйте добавить indexPath к отображаемому контенту?

Так что вместо cell = something; сделайте cell = [NSString stringWithFormat:@"%@ - %d", something, indexPath];

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