我有一个MainViewController
,bottomSheet
作为childViewController。
bottomSheet
首先显示在MainViewController
的1/4上,附加UIPanGestureRecognizer
,UITableView
作为{{1}的子视图固定到视图的4个边缘。
我可以平移底部工作表并将其移动到屏幕顶部。然而,当它到达顶部时,我需要释放我的手指并再次平移,以便bottomSheet
接收触摸。
我需要一种方法,所以当视图位于屏幕顶部时,它会开始滚动tableView。
我所尝试的是UITableView
的{{1}}状态和UIPanGestureRecognizer
的{{1}},这给了我一个最终结果,但有一些问题,因为它输了系统默认动画
有没有办法继续滚动tableView而不释放我的手指?
答案 0 :(得分:0)
在平移之前给tableView它的完整高度,其中 tableViewHeightCon 是作为IBOutlet拖动的tableView的高度约束
override func viewDidLayoutSubviews() {
self.tableViewHeightCon.constant = numberOFCells*cellHeight;
}
并且当您检测到视图最多时,会更改表视图的顶部约束,如此
func scrollTableAutomatic
{
UIView.animate(withDuration: 3.0) {
self.tableViewTopCon.constant -= self.tableView.frame.size.height - self.view.frame.size.height
}
}