2015-02-21 6 views
0

У меня есть табличный вид, который приводит к детальному просмотру. Когда я вернусь из таблицы, я вернусь в начало таблицы. Я бы хотел, чтобы он вернулся к позиции выбранной строки. Я знаю, что я могу использовать прокрутку к позиции, но ей нужен указательный путь. Правильно ли я считаю, что мне нужно создать свойство указателя и использовать его в вызове метода. Если да, то где я его заполняю - в выбранном методе row/cell? У меня есть разделы в моей таблице, так будет ли это индексный путь, строка указателя пути? И, наконец, его следует назвать в поле зрения?восстановление позиции прокрутки uitableview

ответ

0

Он должен работать, используя - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated использовать его таким образом:

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:selectedRow inSection:yourSection]; 
[yourTableView scrollToRowAtIndexPath:indexPath 
        atScrollPosition:UITableViewScrollPositionTop 
          animated:YES]; 

atScrollPosition может принимать любое из этих значений:

typedef enum { 
    UITableViewScrollPositionNone, 
    UITableViewScrollPositionTop, 
    UITableViewScrollPositionMiddle, 
    UITableViewScrollPositionBottom 
} UITableViewScrollPosition; 

Я надеюсь, что это поможет вам

+0

Спасибо. Только вопросы - как получить выбранные строки строк и выбранных разделов. Я поместил все это в viewdidappear - это правильно? – chalkandcheese

+0

Вы можете получить indexPath в методе didselect ......... и не помещать его в viewDidAppear coz, он будет вызываться, когда вы приходите в свой класс tableview, в котором вы стремитесь к контроллеру NsNotufication, чтобы выполнить задачу –

1

Может быть, у ищет это:

tableView.contentOffset.y; 

Если вы имеете в виду - вы вернулись из контроллера детали к главному контроллеру ур, u можете прокрутить до положения в режиме просмотраWillAppear (сохранить таблицуView.contentOffset.y в viewWillDissapear). Но я создал новый проект и там не нужно это делать, он автоматически открывает главный контроллер с сохраненной позицией, когда от подробностей