2012-04-25 2 views
2

Как инициализировать UITableView так, чтобы он начинал показывать что-то (по моему выбору) в середине таблицы, а не то, что находится наверху? Я хочу, чтобы определенная ячейка в таблице всегда начиналась в верхней части экрана, чтобы вы могли прокручивать вверх или вниз оттуда.Как инициализировать UITableView в середине таблицы

ответ

3

Вы можете прокрутить до определенной ячейки, отправив - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated в виде таблицы.

Как вы описали, вы хотите, чтобы ячейка по вашему выбору отображалась «в середине таблицы», поэтому вы должны использовать UITableViewScrollPositionMiddle для аргумента scrollPosition.

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


Вы также пишете: «Я хочу, чтобы определенная ячейка в таблице всегда начиналась в верхней части экрана».

Вместо этой ячейки и scrollPosition UITableViewScrollPositionTop вы можете сделать эту ячейку в верхней части таблицы.

+0

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

+0

Возможно, я делаю это неправильно, поскольку я помещаю его в viewDidLoad из содержащего представления, а не из представления таблицы. –

+0

См. [Этот ответ] (http://stackoverflow.com/a/2934445/526433) - вам нужно перезагрузитьДата и прокрутить в своем представленииWillAppear. – Ertebolle

Смежные вопросы