UITableView – 上一节的页脚滚动屏幕底部。 如何预防?
我有一个分组的 UITableView。 我已经实现了tableView( :titleForHeaderInSection 🙂和tableView(:titleForFooterInSection 🙂 。 当我滚动一个长桌子时,我可以看到部分页眉和页脚包含预期的数据。 当我到达桌子的底部时,我拖动以查看最后一个部分的页脚,它具有正确的数据,但是当我松开手指时,页脚向下滚动,超过屏幕底部并且看不到。 最后一部分的最后一个单元格出现在屏幕的底部,而不是最后一部分的页脚。
如何解决它? 有最后一个部分和它的页脚。 我的手指仍然在屏幕上
当我松开手指时,最后的页脚从屏幕的底部滑落。
您可以通过考虑以下method
之一来修复滚动内容问题。
方法1:自然的方法来解决你的问题,从StoryBoard
正确设置你的tableView frame
和bottom constraint
。
更新:
方法2 :你可以在viewDidLayoutSubviews
或viewWillLayoutSubviews
validation你的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的框架。