UITableView移动到单元格

我想接下来:

我有一个UITableView必须显示单词(AZ)。

目前当视图加载时,我有一个单元格显示(这是正确的)。 第一个单元格显示我的数组字中的第一个单词

目的:我想移动到必须显示10个单词的单元格,但问题是indexPath.row = 10的单元格不存在(这是正确的,因为我不滚动)。

什么是一个正确的等待从1转换到10单元格。

我想如果我不使用dequeueReusableCellWithIdentifier来创build我的单元格,我可以做到这一点,解决我的问题,但我的意思是设备内存的这个问题。

换句话说,我需要使scrollToRowAtIndexPath

谢谢!

您正确地确定scrollToRowAtIndexPath方法。 所以你所要做的就是创build一个新的IndexPath和你想要移动到的行,例如row index = 10:

 [tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:10 inSection:indexPath.section] atScrollPosition:UITableViewScrollPositionMiddle animated:NO]; 
 //For iOS 7 [self.TableView reloadData]; NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:1]; [TableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES]; 

可以识别需要变得可见的行(在例如下面是forRow)并重新加载行。 完成后,可以滚动到该行。

 let moveToIndexPath = NSIndexPath(forRow: forRow, inSection: 0) self.tableView.reloadRowsAtIndexPaths([moveToIndexPath], withRowAnimation: .None) self.tableView.scrollToRowAtIndexPath(moveToIndexPath, atScrollPosition: atScrollPosition, animated: true)