触摸时自动滚动到tableviewcell

时间:2016-05-15 00:29:41

标签: ios swift uitableview

我想知道是否可以在触摸时自动滚动tableview?基本上,如果你有几个单元格并且你正在滚动它们,并且你在屏幕上有每个单元格的一半而你触摸其中一个,我希望它滚动,以便你触摸的单元格在屏幕上居中。这样做的原因是,如果您有按钮并且在单元格中间滚动时触摸按钮,则会将带有按钮的单元格带到屏幕中心,以便他们可以看到它。

2 个答案:

答案 0 :(得分:1)

我认为您使用myArray.count之类的内容来定义numberOfRowsInSection方法中的单元格数量。因此,如果您想要滚动到中间位置的单元格,可以使用myArray.count/2来查找行的编号。

 NSIndexPath* ip = [NSIndexPath indexPathForRow:myArray.count/2 inSection:0];
[self.myTable scrollToRowAtIndexPath:ip atScrollPosition:UITableViewScrollPositionTop animated:YES];

Swift版本:

var ip: NSIndexPath = NSIndexPath(forRow: myArray.count / 2, inSection: 0)
self.myTable.scrollToRowAtIndexPath(ip, atScrollPosition: .Top, animated: true)

希望有所帮助!

答案 1 :(得分:1)

玛丽亚的回答转换为斯威夫特:

var ip = NSIndexPath(forRow: myArray.count/2, inSection: 0)
self.myTable.scrollToRowAtIndexPath(ip, atScrollPosition: .Top, animated: true)