我有一个带有嵌入式collectionView的UITableViewController ...其中的每个项目都是UICollectionView / UITableView ..我需要父Tableview首先向上/向下滚动,只有它完成后才能向上或向下滚动子项。
我大部分已经实现了这一点,但是桌面视图在滚动时没有完全滚动到底部(剩余10%)并且具有不需要的视差效果。我理解这是由于我将偏移从孩子传递给父母的原因,但是我需要让孩子继续这样,以便它只与父母一起移动而不是自己移动。但我不知道该怎么做。
在childViewController中,我这样做了:
override func scrollViewDidScroll(scrollView: UIScrollView) {
if(parent.tableView.contentOffset.y >= (parent.tableView.contentSize.height - parent.tableView.frame.size.height)) {
//
if self.collectionView?.contentOffset.y <= 0 || self.collectionView?.contentOffset.y >= self.collectionView?.contentSize.height{
print("Child scrolled the top")
parent.tableView?.setContentOffset(scrollView.contentOffset, animated: true)
}
}else {
print("Parent TableView should move")
parent.tableView?.setContentOffset(scrollView.contentOffset, animated: false)
}
这是我的布局 Github - StreamIO-FFMPEG
1.Without Scroll 2.While Scrolling Parellax 3.Scrolled(distance remaining in bottom)
HomeTableView = view.frame.height的高度,UICollectionView中每个项目的高度相同。
任何人都可以帮助我获得完整的底部滚动和放大消除视差效应。