代码滚动到表视图中的下一行?

时间:2015-07-22 02:44:10

标签: ios xcode swift

所以在我的项目中有一个tableview,每行填充一个来自parse的图像。我希望禁用用户滚动并让按钮向下滚动到下一行。这有可能吗?

想出来

let button = sender as! UIButton
let view = button.superview!
let cell = view.superview as! <cellname>

let indexPath = tableView.indexPathForCell(cell)

let row = indexPath?.row

tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: row!+1, inSection: 0), atScrollPosition: UITableViewScrollPosition.Top, animated: false)

6 个答案:

答案 0 :(得分:2)

enter image description here

我在git上做了一个示例项目 https://github.com/hammyhamza/StackOverflow

答案 1 :(得分:0)

是的,您可以使用UITableView中的scrollToRowAtIndexPath函数以编程方式滚动表视图。

答案 2 :(得分:0)

将属性scrollEnabled设置为NO。因为UITableView是UIScrollView的子类。那么你可以使用你自己的代码控制滚动。

答案 3 :(得分:0)

你必须像这样使用scrollToRowAtIndexPath:

Main m = new Main();
Camera thisCamera = m.camera;

对于indexPath,您需要使用NSIndexPath类,如下所示:

Camera myCamera = Main.camera;

答案 4 :(得分:0)

我找到了解决方案!

let button = sender as! UIButton
let view = button.superview!
let cell = view.superview as! <cellname>

let indexPath = tableView.indexPathForCell(cell)

let row = indexPath?.row

tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: row!+1, inSection: 0), atScrollPosition: UITableViewScrollPosition.Top, animated: false)

答案 5 :(得分:0)

在Xcode 8中的Swift 3.0中:

let mylist = MessageList //your class array

tableView1.scrollToRow(at: IndexPath(row: (mylist?.count)!-1, section: 0), at: UITableViewScrollPosition.bottom, animated: true)