Pause TableView滚动
问题描述:
我有ViewController,其中有一个UIView
视图和一个TableView 表里面。视图有很大的高度,所以我想在用户开始滚动表格时隐藏它 - 所以表格现在正在整个屏幕上。 要做到这一点,我使用这种方法。Pause TableView滚动
func scrollViewWillBeginDragging(scrollView: UIScrollView) {
//hide view or decrease it height
}
我隐藏视图与动画 - 所以它需要几分钟的时间隐藏。问题是 - 当用户开始滚动表格并且视图开始变小时 - 表格的顶部单元格中的一些顶部单元格已经不在显示,因为它们在顶部。
我想暂停滚动 - 使之可以开始视图高度降低之后。另外 - 我担心用户可能会感到奇怪。
答
您需要根据用户滚动来改变高度以使其高效。
覆盖另一个委托功能
func scrollViewDidScroll(_ scrollView: UIScrollView) {
myView.heightConstraint = myView.originalHeight - scrollView.contentOffset.y;
}
的contentOffset财产给你x的电流量,Y从原点滚动视图滚动。
答
你可以做的是,你可以给你的tableView
整个屏幕,并以任何你想要的高度进行另一个视图,并使其成为你的tableView
的标题视图。所以现在视图将滚动为您的tableView
卷轴。这是你想要的?
[tableView setHeaderView:<your-custom-header-view>];