📅  最后修改于: 2023-12-03 14:54:19.621000             🧑  作者: Mango
在开发 iOS 应用程序时,经常需要在UITableView中展示大量数据。当用户滚动表格并尝试查找特定行时,他们可能会发现他们需要不断地滚动来找到它。这时,我们通常需要增加一个“快速滚动到”功能,使用户可以直接跳转到指定的行。
在 Swift 中,可以使用 UITableView 的 scrollToRow(at:at:animated:) 方法来实现这个功能。
// Swift 5
let indexPath = IndexPath(row: 10, section: 0)
tableView.scrollToRow(at: indexPath, at: .top, animated: true)
此代码片段将动画滚动到第一部分第11行处。
您可以根据需要更改 indexPath 和最后一个参数(animated)。
// 滚动到第4行,动画效果
let indexPath = IndexPath(row: 3, section: 0)
tableView.scrollToRow(at: indexPath, at: .middle, animated: true)
// 滚动到底部,动画效果
let numberOfSections = tableView.numberOfSections
let numberOfRowsInLastSection = tableView.numberOfRows(inSection: numberOfSections - 1)
let indexPath = IndexPath(row: numberOfRowsInLastSection - 1, section: numberOfSections - 1)
tableView.scrollToRow(at: indexPath, at: .bottom, animated: true)
// 滚动到第一行,不使用动画效果
let indexPath = IndexPath(row: 0, section: 0)
tableView.scrollToRow(at: indexPath, at: .top, animated: false)
在 Swift 中,可以使用 UITableView 的 scrollToRow(at:at:animated:) 方法来实现快速滚动到 TableViewCell 的功能。该方法需要传递要滚动到的行的索引路径、滚动到行的位置以及是否使用动画来滚动到行。