Swift:Xcode tableView 无限滚动

Posted

技术标签:

【中文标题】Swift:Xcode tableView 无限滚动【英文标题】:Swift: Xcode tableView scroll indefinitely 【发布时间】:2015-07-11 19:33:50 【问题描述】:

我有一个包含约 500 个单元格的 swift 表格视图。我希望它在没有任何用户输入的情况下自行滚动。有点像显示信息的股票代码。我该怎么做呢?此外,当它触及底部时,我希望它再次从顶部开始。有什么方法或工具可以做到这一点吗?

【问题讨论】:

这听起来不像表格视图真的是一个合适的视图。如果它只是一个报价单。应该可以相当容易地使用一组视图来滚动您自己的代码,这些视图可以被重用并按照所需的方向进行动画处理。 SpriteKit 会让这一切变得非常简单。 【参考方案1】:

有一个方法可以使用:scrollToRowAtIndexPath:atScrollPosition:animated:

这里是文档的链接: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableView_Class/index.html#//apple_ref/occ/instm/UITableView/scrollToRowAtIndexPath:atScrollPosition:animated:

【讨论】:

【参考方案2】:

您可以使用scrollToRowAtIndexPath 并将其与UIViewanimateWithDuration 方法结合使用

var indexPath = NSIndexPath(forRow: rowNumberHere, inSection: 0)
self.tableview.scrollToRowAtIndexPath(indexPath, 
               atScrollPosition: UITableViewScrollPosition.Bottom, animated: true)

您还可以使用计时器每次滚动到下一个单元格,当您到达最后一个单元格时,您可以逐个单元格滚动到顶部。

var timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: Selector("roll"), userInfo: nil, repeats: true)


func roll() 
    // scroll to next row until we reach the last cell, in that case scroll back until reach the first cell

This SO question 可以提供帮助,但它在 Objective-C 中

【讨论】:

以上是关于Swift:Xcode tableView 无限滚动的主要内容,如果未能解决你的问题,请参考以下文章

Swift,Tableview 约束行为不正常 - Xcode 9

关于重新排序 tableView 的问题(Apple Swift 和 Xcode 11)

从选定的 TableView Cell Swift Xcode 传递 var

如何在 Swift Xcode 6.4 的 TableView 中显示 Parse 数组

Xcode Swift 4 调用 self.tableView.reload() 以减少单元格行数

带有圆形边框的tableview xcode swift