我有 tableview 并且一些单元格不在屏幕上。我正在努力让用户重新排序列表,但有时当前列表不在屏幕上。一个粗略的例子是电子邮件的工作原理。如果您在一条消息上并按发件人而不是日期求助,则您当前所在的消息将保留在消息列表中。
我是否有办法快速向下滚动表格 View 或其他方式,以便屏幕上可以看到某个单元格?现在我只知道如何求助于数据数组并重新加载表格...我想要的是在重新加载表格后在屏幕上保证某个单元格。
如果我将其构建为一个练习,我将呈现一个包含 10 个名称和 1-10 id 的数组,其中只有 5 个可以出现在屏幕上。一旦一个 tableview 单元格被点击,“currentlySelected”的 id 就会被保存。在顶部放置 2 个按钮,其中按名称排序,<123> 按 id
如果我选择 2-steve 然后单击 ABC 按钮...我怎样才能使 2-steve 出现在屏幕上,因为一次只能在屏幕上显示 5 个名字,而 steve 是 ABC 命令7号位?
<ABC> <123>
1-dan
2-steve
3-ted
4-carol
5-anne
6-tony
7-linda
8-chris
9-blake
10- tom
最佳答案
如果您知道要滚动到的单元格的索引路径,只需使用 TableView 提供的方法:
if let indexPath = tableView.indexPathForSelectedRow {
self.tableView.scrollToRow(at: indexPath, at: .top, animated: true)
}
或者,一般来说:
let indexPath = IndexPath(row: 1, section: 0)
self.tableView.scrollToRow(at: indexPath, at: .top, animated: true)
注意:在您的情况下,该行应该是 [0...9] 范围内的值。
关于ios - 根据某种逻辑在 TableView 中显示某个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53700960/