iphone добавление ячеек поверх стола - PullRequest
0 голосов
/ 30 марта 2011

Как вы добавляете ячейки в верхнюю часть таблицы, например, когда вы тянете вниз, чтобы получить последние твиты в приложении Twitter для iPhone ... Я не говорю о методе раскрывающегося списка, больше о добавлении ячеек вверха не вниз.

1 Ответ

1 голос
/ 30 марта 2011

Это не имеет никакого отношения к вашему столу. Это связано с тем, как упорядочен ваш источник данных.

В:

- (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)

вы несете ответственность за настройку ячейки для этого индекса. Простой пример:

//tweetsArray is an array that stores all our tweet model objects (Tweet class)

//Got a new tweet!
Tweet *newTweet = [self getNewTweet];
[tweetsArray insertObject:newTweet atIndex:0];
[myTableView reloadData];

Новый твит теперь является первым элементом в массиве и должен быть первым элементом в вашем табличном представлении, если ваша логика верна.

РЕДАКТИРОВАТЬ: Таким образом, вы хотите, чтобы новые ячейки были добавлены в верхнюю часть в том смысле, что если пользователь прокрутит весь путь до верха и добавит новую ячейку, это будет за кадром, и ему придется прокрутите вверх, чтобы увидеть его (извините, я не использовал приложение Twitter)?

В таком случае вы можете использовать [tableView setContentOffset: CGPointMake (0, yPos)];

Это может быть немного неудобно, но основная идея состоит в том, чтобы вычислить высоту новых ячеек и добавить ее к текущему смещению. то есть, если каждая клетка имеет высоту 40 пунктов:

offsetDisplacement = numNewCells * 40;
    [tableView setContentOffset:CGPointMake(0, tableView.contentOffset.y + offsetDisplacement)];

Попробуйте что-нибудь подобное.

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