首页 文章

根据某些逻辑在表视图中显示某个单元格

提问于
浏览
0

我有tableview,一些细胞在屏幕外 . 我正在努力让用户重新排序列表,但有时当前的一个是关闭屏幕 . 一个粗略的例子是电子邮件的工作原理 . 如果您使用发件人而不是日期来处理邮件和过程,则您当前的邮件将保留在邮件列表中 .

在swift中,有一种方法可以让我向下滚动表格视图或某些东西,以便屏幕上可以看到某个单元格吗?现在我只知道如何使用数据数组并重新加载表...我想要的是在重新加载的表之后在屏幕上保证某个单元格 .

如果我将它构建为练习,我将呈现一个包含1-10个名称的数组,其中只有5个可以在屏幕上显示 . 轻触tableview单元格后,将保存“currentSelected”的id . 在顶部放置2个按钮,按名称排序,按<123>按ID排序

如果我选择2-steve然后点击ABC按钮...我怎么能这样做2-steve在屏幕上,因为一次只能在屏幕上显示5个名字而且史蒂夫被ABC命令为7号位置?

<ABC>    <123>
1-dan
2-steve
3-ted
4-carol
5-anne
6-tony
7-linda
8-chris
9-blake
10- tom

1 回答

  • 0

    如果您知道要滚动到的单元格的索引路径,只需使用表格视图提供的方法:

    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]范围内的值 .

相关问题