2016-11-17 25 views
2

我有一个UITableView,它有一个segue设置为发送用户到一个新的VC,当任何单元格在表中被选中时。这segue工作正常。新的VC有一个“返回”按钮,可将用户发送回表格,但此按钮始终将用户发送回表格顶部。有没有什么办法(可能是编程)让后退按钮将用户返回到表格,但是在他们之前选择的单元格处(即在表格的中间位置)?如何让返回按钮返回到UITableView中的相同位置

+0

你的'viewDidAppear(_ :)'/'viewWillAppear中(_ :)'重装表? –

+0

@NicolasMiari通过在'viewDidLoad()'中调用queryandappend函数重新装载表。后退按钮segue没有与其关联的代码。只在主要故事板上设置 –

+0

后退按钮可能没有直接与其关联的代码,但视图控制器的方法会在视图层次更改时自动调用。但是,如果只是在'viewDidLoad()'中重新加载表格视图,则应该是OK ... –

回答

1

让我补充这是一个答案,因为评论的问题并不明显为其他用户

代码:

[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:10 inSection:indexPath.section] atScrollPosition:UITableViewScrollPositionMiddle animated:NO]; 

这行代码之前,你需要跟踪您单击的指数路径,这样就可以通过indexPath的参数,以此来表移动到所需的位置。

希望它可以帮助

快乐编码...

2

我面临同样situation.Then

1)在didSelectRowAtIndexPath:(NSIndexPath *)indexPath,我从viewWillAppear

- (void)viewWillAppear:(BOOL)animated{ 
    [[self tableView] reloadData]; 
} 

3)我记住选择indexPathSelected

2)我重装的tableview细胞滚动tableView到位置从ViewDidAppear

[self.tableView scrollToRowAtIndexPath:indexPathSelected 
        atScrollPosition:UITableViewScrollPositionTop animated:YES]; 

否则相同的行为u能与contentOffset的帮助下变得非常容易,和u可以重复使用它当U回来