UITableView не помнит свою позицию прокрутки - PullRequest
0 голосов
/ 11 мая 2010

Я могу опубликовать код, хотя я не совсем уверен, с чего начать. У меня есть UITableView с пользовательскими ячейками, на среднем уровне трехуровневой схемы UINavigationView. Когда я углубляюсь до нижнего уровня и вижу подробности о моих данных, а затем использую верхнюю левую кнопку «назад», мое табличное представление возвращается с прокруткой до самого верха, а не с прокруткой вниз до того места, где оно было в последний раз , Где мне посмотреть об этом?

EDIT:

Вот код в EventsTableViewController, чтобы загрузить экземпляр EventsDetailViewController и вставить его в контроллер навигации:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    NSMutableArray *events = [DataManager sharedDataManager].eventList;

    Event *selectedEvent = [events objectAtIndex:[indexPath row]];
    EventsDetailViewController *detailController = [[EventsDetailViewController alloc] initWithNibName:@"EventsDetailView" bundle:nil];
    [detailController loadEvent:selectedEvent];

    MyAppDelegate *del = (MyAppDelegate *)[UIApplication sharedApplication].delegate;
    [del.navigationController pushViewController:detailController animated:YES];
    [detailController release];

}

Насколько я вижу, в моем EventsTableViewController нет ничего о перезагрузке таблицы - я не реализовал viewWillAppear или viewDidLoad или что-либо из этого.

Ответы [ 4 ]

2 голосов
/ 11 мая 2010

Вы случайно перезагружаете стол там, где не должны быть? В методе ViewWillAppear например?

0 голосов
/ 03 декабря 2011

ты делаешь:

[self presentViewController:navController animated:YES completion:nil];

где self находится tableviewcontroller? попробуйте:

[self.navigationController presentViewController:navController animated:YES completion:nil];
0 голосов
/ 28 августа 2010

У меня очень похожий вопрос. Когда я перехожу к chatView, который является UIViewController, принадлежащим навигационному контроллеру и имеет tableView в качестве подпредставления, затем я прокручиваю до некоторой точки, а затем я возвращаюсь, а затем возвращаюсь к chatView, он начинается с вершина снова. Я выделяю tableView в loadView из chatView, поэтому tableView перераспределяется каждый раз, когда я возвращаюсь. Но разве это не стандарт? Как мне всегда прокручивать страницу вниз, как приложение «Сообщения iPhone», и показывать полосу прокрутки в течение нескольких секунд внизу?

Вот код:

http://github.com/acani/acani-chat/blob/master/Lovers2/Classes/ChatViewController.m#L184

Спасибо!

Мэтт

0 голосов
/ 13 мая 2010

Я случайно создавал новую копию моего табличного представления всякий раз, когда попадал на этот уровень навигации. Теперь все исправлено, и это больше не проблема.

...