UITableView – 上一节的页脚滚动屏幕底部。 如何预防?

我有一个分组的 UITableView。 我已经实现了tableView( :titleForHeaderInSection 🙂tableView(:titleForFooterInSection 🙂 。 当我滚动一个长桌子时,我可以看到部分页眉和页脚包含预期的数据。 当我到达桌子的底部时,我拖动以查看最后一个部分的页脚,它具有正确的数据,但是当我松开手指时,页脚向下滚动,超过屏幕底部并且看不到。 最后一部分的最后一个单元格出现在屏幕的底部,而不是最后一部分的页脚。

如何解决它? 有最后一个部分和它的页脚。 我的手指仍然在屏幕上

当我松开手指时,最后的页脚从屏幕的底部滑落。

您可以通过考虑以下method之一来修复滚动内容问题。

方法1:自然的方法来解决你的问题,从StoryBoard正确设置你的tableView framebottom constraint

更新:

在这里输入图像说明

方法2 :你可以在viewDidLayoutSubviewsviewWillLayoutSubviewsvalidation你的tableView frame

  override func viewDidLayoutSubviews() { tableView.frame = CGRect(x: 0, y: 0, width: tableView.frame.width, height: tableView.frame.height - (tabBarController?.tabBar.frame.size.height)!) } 

方法3 :通过调整滚动视图insets设置您的tableView框架。

 override func viewDidLayoutSubviews() { tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: (tabBarController?.tabBar.frame.size.height)!, right: 0) } 

我认为这是由tabbar阻止。
如果使用storyborad,重置您的tableView的约束。
如果没有,你需要正确设置你的tableView的框架。