当前位置: 首页 > 知识库问答 >
问题:

滚动至表格视图标题顶部

充鑫鹏
2023-03-14

我有一个UITableView标题,占据了整个屏幕。

每次应用程序进入后台,然后回到前台/活动,我希望屏幕被设置回标题顶部。

我只见过与滚动到表格顶部有关的答案,这些答案使用类似于self.tableView.scrollToRow(at: top,at:. top,动画:true),但是不起作用,因为它只滚动回UITableView的第0行0,而不是UITableView标题的顶部。

有什么想法吗?

谢谢

编辑:尝试了这个

override func viewWillAppear(_ animated: Bool) {
    self.tableView.setContentOffset( CGPoint(x: 0, y: 0) , animated: true)
}

下面是一些值得注意的表格设置代码:

// Set up Frames
let headerFrame: CGRect = UIScreen.main.bounds
// Background Table
self.tableView.isPagingEnabled = true

// Set up Table Header
let header = UIView(frame: headerFrame)
self.tableView.tableHeaderView = header    

共有2个答案

班昱
2023-03-14

您可以滚动到节标题,请尝试以下代码:

DispatchQueue.main.async {
    let indexPath = IndexPath(row: NSNotFound, section: yourSectionIndex)
    self.tableView.scrollToRow(at: indexPath, at: .bottom, animated: true)
}

对于行添加:NSNotFound

根据您的要求在“scrollToRow”中更改.top/.bottom。

燕烨
2023-03-14

TableView是一个滚动视图子类,因此我认为这应该可以工作:

 self.tableView.setContentOffset( CGPoint(x: 0, y: 0) , animated: true)

当应用程序进入前台时,不会调用ViewWillDisplay。为您的VC注册UIApplicationWillEnterForegroundNotification

 类似资料:
  • 我的TableView包含一些数字数据。当我说按按钮编辑值时,它会将单元格的背景更改为绿色。当没有足够的行使表格可滚动时,这种方法很有效。一旦表格变成(或从一开始就是)可滚动的,它就会开始表现出怪异的行为。它会更改已编辑项目的背景,但也会更改在向下滚动之前不可见的项目的背景。然而,当我调试时,更改背景的代码只被调用一次。我认为它与tableview有关,当is scrollable破坏并重新创建单

  • 我有一个当用户滚动时显示隐藏单元格的tableView。不确定为什么会出现这种情况。 在视图中DidLoad() 用户点击按钮后,表格将以可设置动画的方式展开。 在 func tableView(_ tableView: UITableView, cellForRowAt 索引路径: 索引路径) - 当我滚动时,所有单元格都被隐藏。我看到它们是在单元格中创建的,但是,它们不会出现在我的屏幕上。为什

  • 我正在设计一个具有滚动视图的页面,其上方是表格视图(禁用滚动)。为此,我在这个问题中提到了答案 - 使UITableView不可滚动并调整高度以容纳所有单元格,但没有成功。 视图层次结构以及提供的约束- -主视图 -滚动视图< br >固定在主视图的所有边上(0,0,0,0),限制边距 -内容视图 固定到滚动视图(0,0,0,0),与主视图宽度相等,与主视图高度相等(优先级-250) -内容视图中

  • 我正在使用html2canvas进行截图和附加图像。这些工作正常,但完成后总是滚动到页面顶部。我需要根据div id或class滚动pacific div。以下是我使用的代码: 请尝试使用以下代码: 这对我不起作用。

  • 问题内容: 在此之前,我的滚动视图下面几乎有一个值得滚动的页面,下面有一个列表视图,但是一旦填充了列表视图,滚动视图就会移到列表视图的顶部。我该如何解决/防止这种情况发生? 滚动查看XML: 我试着做sv.fullScroll(ScrollView.FOCUS_UP); 和所有这些东西到我的scrollview,但它不起作用 问题答案: 首先,您可能已经听说过它,但以防万一: 切勿在内部放一个,因

  • 问题内容: 我想制作一个冻结顶部行的html表(因此,当您垂直向下滚动时,总是可以看到它)。 有没有使这种情况发生的聪明方法,而无需使用javascript? 请注意,我不需要冻结左列。 问题答案: 如果没有JavaScript,您将无法有效实现这一目标……特别是如果您想要跨浏览器支持。 您采取的任何方法都有很多问题,特别是关于跨浏览器/版本支持的问题。 编辑: 即使不是您要修复的标头,而是数据的