标题已经说明了一切。我正在设计一个应用程序,它接受用户的输入并将内容添加到表中。
但是,我正在使用优先级意识,因此如果用户选择“紧急”优先级,那么该任务将位于顶部等 显然,我正在使用 sortdescriptor 对从 Core Data 获取的数据进行排序。
正如您从这张图片中看到的(只是一个设计),当调用键盘并且表格视图位于后台时,输入文本视图就会出现在视图中。当您选择优先级并按添加按钮时,表格视图应滚动到将添加新行的区域。
我也在使用 NSFetchedResultsController 。
在 Xcode 文档中快速搜索 UITableView 字符串“Scroll”即可发现该方法
scrollToRow(at:at:animated:)
文档说:
滚动表视图,直到出现由索引路径标识的行 在屏幕上的特定位置。
因此,如果您的表视图分为多个部分,每个优先级对应一个部分,您将为用户选择的优先级部分指定一个索引路径。
使用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)