3

我有一个UITableView我的看法。可以说tableView有 100 个索引。如果我向下滚动并选择第 50 个索引,它会推送到另一个视图。

所以我想要的是,如果我从第二个视图弹回 tableView 视图,tableView 应该从第一个索引显示。但目前它在我之前选择的索引中。请参考下图更好地理解。

在此处输入图像描述

这里的“智能”是第 25 个索引。如果我选​​择智能,它会推送到另一个视图(详细视图)。所以如果我再次回到这个 tableView,表格应该重置并从第一个视图显示。我怎样才能做到这一点?我尝试重新加载表,但它不起作用。

请提出你的想法。

谢谢!!!

4

5 回答 5

4

尝试这样的事情:

- (void)viewWillAppear:(BOOL)animated
{
    [self.tableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
}
于 2013-08-05T08:53:32.140 回答
3

使用它来显示第一个索引tableview

 NSIndexPath *myIndexPath = [NSIndexPath indexPathForRow:1 inSection:0];
    [self.tbl_presentation selectRowAtIndexPath:myIndexPath animated:YES scrollPosition:UITableViewScrollPositionTop];

我希望这段代码对你有用。

于 2013-08-05T09:01:29.740 回答
2

做任何事情,viewWillAppear就像called你一样come back

- (void)viewWillAppear:(BOOL)animated
{
    [yourTableView.scrollView setContentOffset:CGPointMake(0,0)];
}
于 2013-08-05T08:56:33.423 回答
2

您需要scrollToRowAtIndexPath:atScrollPosition:animated:使用滚动位置要求表格视图滚动到第一行UITableViewScrollPositionTop。您可能希望在延迟后执行此操作,具体取决于您正在进行的其他动画。

于 2013-08-05T08:54:53.110 回答
1

在导航到要保持突出显示并在视图中显示的另一个视图之前保存行索引或值。

之后,当您返回相同的视图时,只需添加以下行:

// rowIndex is saved row value before navigating to another view.
[tableView selectRowAtIndexPath:rowIndex
                       animated:NO 
                 scrollPosition:UITableViewScrollPositionMiddle];

这将解决您的问题。

于 2013-08-05T09:07:15.503 回答