[英]Segue back to TableView at selected cell row
我有一個UItableView可以選擇另一個視圖控制器。 我正在使用一個UITapGestureRecognizer,它可以選擇返回tableView。 此segue有效,但是我希望它可以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];
}
}
您應該將表視圖的內容偏移量保存為一個值。
float tableContentOffset;
然后,將偏移量保存到該浮點數中。 最后,當您需要設置表格視圖的內容偏移量時,
[self.tableView setContentOffset:CGPointMake(0,tableContentOffset)animation:YES];
因此,在您的代碼中,您已經創建了CGPoint。 但是,該創建存在於prepareForSegue方法中。 因此,您不能在方法外部訪問該點! 解決方案是在頭文件中創建CGPoint。
CGPoint tableContentOffest;
然后,在prepareForSegue方法中,只需設置表的偏移值即可。 不要創建新的CGPoint。
另外,在您的代碼中[vc.tableView setContentOffset:_tableContentOffset動畫:是]; 您可能要使用[vc.tableView setContentOffset:tableContentOffset animation:YES]進行設置; 而不是_tableContentOffset。 希望這對您有所幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.