在选定的单元格行回到TableView

时间:2012-05-07 20:13:29

标签: iphone ios segue

我有一个UItableView,可以分割到不同的视图控制器。我正在使用UITapGestureRecognizer,它会分段回到tableView。这个segue有效,但是我希望它能够在最初选择的表行中回到tableView。我该如何做到这一点?

编辑:已编辑的代码

- (void)viewWillAppear:(BOOL)animated  {

 appDelegate = [[UIApplication sharedApplication] delegate];
 NSLog(@"%@", NSStringFromCGPoint(appDelegate.testCGPoint));

 [self.tableView setContentOffset:appDelegate.testCGPoint animated:YES];
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

 if ([segue.identifier isEqualToString:@"ShowDetail"]) {

   appDelegate.testCGPoint = [self.tableView contentOffset];

 }
}

2 个答案:

答案 0 :(得分:1)

您应该将表视图的内容偏移量保存为值。
    float tableContentOffset;
然后,将偏移量保存到该浮点数中。 最后,当你需要设置表格视图的内容偏移时,
[self.tableView setContentOffset:CGPointMake(0,tableContentOffset)animated:YES];

答案 1 :(得分:0)

因此,在您的代码中,您已经创建了一个CGPoint。但是,创建存在于prepareForSegue方法中。因此,您无法访问方法之外的点!解决方案是在头文件中创建CGPoint。
CGPoint tableContentOffest;
然后在prepareForSegue方法中,您所要做的就是设置表的偏移值。不要创建新的CGPoint。
另外,在你的代码中[vc.tableView setContentOffset:_tableContentOffset animated:YES];你想要用[vc.tableView setContentOffset:tableContentOffset animated:YES]设置它;而不是_tableContentOffset。 希望这有帮助!