如何滚动tableView到新添加的一行,不一定是底部或顶部?

问题描述 投票:0回答:2

标题已经说明了一切。我正在设计一个应用程序,它接受用户的输入并将内容添加到表中。

但是,我正在使用优先级意识,因此如果用户选择“紧急”优先级,那么该任务将位于顶部等 显然,我正在使用 sortdescriptor 对从 Core Data 获取的数据进行排序。

正如您从这张图片中看到的(只是一个设计),当调用键盘并且表格视图位于后台时,输入文本视图就会出现在视图中。当您选择优先级并按添加按钮时,表格视图应滚动到将添加新行的区域。

我也在使用 NSFetchedResultsController 。

对此的任何帮助将不胜感激!

ios uitableview animation swift3 scroll
2个回答
0
投票

在 Xcode 文档中快速搜索 UITableView 字符串“Scroll”即可发现该方法

scrollToRow(at:at:animated:)

文档说:

滚动表视图,直到出现由索引路径标识的行 在屏幕上的特定位置。

因此,如果您的表视图分为多个部分,每个优先级对应一个部分,您将为用户选择的优先级部分指定一个索引路径。


0
投票

使用tableview

scrollToRow
功能滚动到新添加的项目

tableView.reloadData()
   
// Scroll to the newly added item
let lastRowIndex = IndexPath(row: itemArray.count - 1, section: 0)
tableView.scrollToRow(at: lastRowIndex, at: .bottom, animated: true)
© www.soinside.com 2019 - 2024. All rights reserved.