Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 返回选定单元格行的TableView_Iphone_Ios_Segue - Fatal编程技术网

Iphone 返回选定单元格行的TableView

Iphone 返回选定单元格行的TableView,iphone,ios,segue,Iphone,Ios,Segue,我有一个UItableView,它可以切换到不同的视图控制器。我使用的是一个UITapGestureRecognitor,它可以返回到tableView。这个segue可以工作,但我希望它可以切换回最初选定表行的tableView。我如何做到这一点 编辑:已编辑的代码 - (void)viewWillAppear:(BOOL)animated { appDelegate = [[UIApplication sharedApplication] delegate]; NSLog(@"%@"

我有一个UItableView,它可以切换到不同的视图控制器。我使用的是一个UITapGestureRecognitor,它可以返回到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];

 }
}

应将表视图的内容偏移量保存为一个值
浮动补偿
然后,稍后将偏移保存到该浮动中。
最后,当需要设置表视图的内容偏移量时,
[self.tableView setContentOffset:CGPointMake(0,tableContentOffset)animated:YES]

因此,在代码中,您已经创建了一个CGPoint。但是,创建存在于方法prepareForSegue中。因此,您无法访问方法之外的点!解决方法是在头文件中创建CGPoint
CGPoint表格内容列表
然后在prepareForSegue方法中,只需设置表的偏移量值。不要创建新的CGPoint
此外,在代码中[vc.tableView setContentOffset:_tableContentOffset动画:YES];您可能希望使用[vc.tableView setContentOffset:tableContentOffset动画:YES]进行设置;而不是。
希望这有帮助

这段代码应该放在视图控制器的viewwillbeen:method中。我使用了CGPoint而不是float,它对我不起作用。虽然我是个新手,但我可能不止一件事做得不对。请看上面编辑的代码。请看我的第二个答案!您的问题可能在于访问tableContentOffset变量!我是否必须在ViewController类或其他类中创建
CGPoint tableContentOffset
?编译器无法识别DetailViewController中的变量。我在我的ViewController头@interface{}中设置了
CGPoint tableContentOffset
。好的,我现在有点让它工作了。我完全误解了
self.tableView…
部分,现在我意识到我的detailViewController中不需要任何if代码。一切都在我的主VC中设置。然而,当我在头文件中放入`CGPoint tableContentOffset时,它无法工作。当视图重新出现时,它似乎正在重置或未设置。相反,我在AppDelegate中设置CGPoint,并在VC中调用它。这似乎有效,但我不确定为什么无法使用您的方法。此外,它现在有效,但setContentOffset延迟。我再次编辑了上面的代码。谢谢你的帮助。修正了延迟。只需设置
动画:否