UITableView - 最后一部分的页脚滚动屏幕底部。怎么预防?

时间:2017-03-29 22:09:58

标签: ios swift uitableview footer

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

如何解决? There's the last section and its footer. My finger is still on the screen

When I release my finger, the final footer slides off the bottom of the screen.

2 个答案:

答案 0 :(得分:1)

我认为它被标签栏阻止了 如果使用storyborad,请重置tableView的约束 如果没有,您需要正确设置tableView的框架。

答案 1 :(得分:1)

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

方法1:通过在故事板中正确设置tableView框架及其底部约束来自然地解决问题。

<强>更新

walkthrough of changes

方法2 :您可以在tableViewviewDidLayoutSubviews

中验证您的viewWillLayoutSubviews框架
 override func viewDidLayoutSubviews() {
     tableView.frame = CGRect(x: 0, y: 0, width: tableView.frame.width, height: tableView.frame.height - (tabBarController?.tabBar.frame.size.height)!)
 }

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

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