我有一个UICollectionView固定在Top Layout Guide(我使用NavigationController,因此它被固定到导航栏)并对齐到它覆盖的图像的底部。
我隐藏了导航栏并为Image位置设置了动画,这意味着由于受限制,CollectionView也在移动。
在我的scrollView的scrollViewDidScroll委托方法中,我像这样动画它们:
if scrollView.panGestureRecognizer.translation(in: scrollView).y > 0 {
//scrolling up
navigationController?.setNavigationBarHidden(false, animated: true)
UIView.animate(withDuration: 0.2, animations: {
self.topImageContraintToTop.constant = 0
self.view.layoutIfNeeded()
})
} else {
//scrolling down
navigationController?.setNavigationBarHidden(true, animated: true)
UIView.animate(withDuration: 0.2, animations: {
self.topImageContraintToTop.constant = -(self.navigationController?.navigationBar.bounds.size.height)! - 10
self.view.layoutIfNeeded()
})
}
所以每次这个动画发生时,CollectionView的可见单元格会短暂闪烁/闪烁。
我已经搜索了几个小时才能解决,但到目前为止没有任何帮助。
我很欣赏这种问题的任何方法。