2017-03-29 22 views
3

我有一个分组 UITableView。我实施了tableView(:titleForHeaderInSection :)tableView(:titleForFooterInSection :)。当我滚动一张长桌子时,我可以看到部分页眉和页脚包含了预期的数据。当我到达桌子的底部,然后拖动以查看最后一部分的页脚时,它具有正确的数据,但是当我释放手指时,页脚向下滚动,超过屏幕底部并且不在视图中。最后一节的最后一个单元格出现在屏幕的底部,而不是最后一节的页脚。UITableView - 上一节的页脚从屏幕底部滚动。如何预防?

如何解决? 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.

回答

1

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

方法1:StoryBoard设置您的tableView framebottom constraint妥善解决您的问题自然的方式。

更新时间:

enter image description here

方法2:您可以验证tableView frameviewDidLayoutSubviewsviewWillLayoutSubviews

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) 
} 
+1

我用了一个TableViewController,并找不到调整tableView的方法,如vids(很好的触摸!)所示。我探讨了一个能够使用方法3,似乎工作。其中一天,我会理解它。谢谢。 – MACE

+0

很高兴我帮助... – Joe

1

我认为这是阻止使用TabBar。
如果使用storyborad,请重置tableView的约束条件。
如果不是,则需要正确设置tableView的框架。

+2

确保表视图的底部约束链接到“底部布局指南”,而不是“容器边距”。 – paulvs

+0

啊!我在任何地方都没有明确的约束。但是“标签栏”的背后很有意义。我会追求这一点。谢谢。 – MACE

相关问题