2016-11-17 55 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回來