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)