2010-02-01 2 views
0

Я уверен, что это довольно распространенная проблема: у меня есть UITableView с довольно некоторыми элементами в нем. Если вы нажмете на ячейку, вы увидите некоторые сведения об выбранном объекте (сделанные с помощью навигационного контроллера). Теперь, если пользователь нажимает на стрелку назад в верхней части экрана, он успешно возвращается к старой таблице, но теперь она прокручивается, все возвращается к вершине, независимо от того, к какой ячейке до нее дотронулся пользователь.UITableView прокрутите страницу до пункта, где пользователь нажал

Я создаю таблицу в моем методе viewWillAppear ViewController. Тем не менее, я думаю, что это не моя проблема, поскольку записи в журналах показали, что вызов «reloadData» (который находится в этом методе) не вызывается при возврате из другого представления (нажмите кнопку «Назад»).

Кто-нибудь знает, как я могу предотвратить прокрутку UITableview при возврате с более глубокого уровня?

Большое спасибо!

ответ

3

Вы должны создать представление таблицы в - [viewDidLoad ]. Это, скорее всего, не только решит вашу проблему, но и станет более чистым способом сделать что-то подобное.

В настоящее время представление таблицы создается каждый раз при появлении вида, что, конечно же, происходит, когда вы возвращаетесь к нему с помощью кнопки «Назад».

+0

Большое спасибо, ваш комментарий ударил меня, чтобы проверить документацию снова, и теперь я увидел, почему loadView ранее не работал для меня. Все хорошо сейчас, спасибо! И проблема с прокруткой также исчезла :) Отлично! – Robin

0

Один из способов вы можете записать indexpath, что клетка была в, а затем использовать UITableView scrolLToRowAtIndexPath для перехода к ячейке, которая была выбрана, Херес реф http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html#//apple_ref/occ/instm/UITableView/scrollToRowAtIndexPath:atScrollPosition:animated:

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