UITableView прокрутить туда, где пользователь нажал - PullRequest
0 голосов
/ 01 февраля 2010

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 01 февраля 2010

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

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

0 голосов
/ 01 февраля 2010

Один из способов - записать 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:

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