使用 header 而不是中间部分或页脚呈现 TableView

Presenting TableView with header instead of middle section or footer

我有一个带有 header 和一些部分的自定义 tableView。我在三个 viewController 之间使用制表符。 ViewControllertableView 是我的应用程序主页。当我第一次打开应用程序时,一切都很好。但是,如果我向下滚动我的 tableView,然后使用选项卡移动到其他 viewController 并返回到我的主屏幕,TableView 会显示我离开的部分。我希望它显示为 header(我的 viewController 应该从顶部而不是中间显示)。这是屏幕截图。

这是我的主屏幕


如果我像下面这样向下滚动


然后使用下面的 tabBar

移动到下一个屏幕



这是我回到主屏幕时得到的结果


不应该和第一次一样呈现吗?

您可能需要做的是,实现委托

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController

现在在这个委托中,当您的主视图控制器被选中时,访问您的 table 视图并以编程方式将其滚动到操作。

在第一个选项卡的 viewControllers 中,在 viewWillAppear() 方法中添加以下代码。

let scrollPoint = CGPoint(x: 0, y: 0)
self.tableView.setContentOffset(scrollPoint, animated: false)