UICollectionView
는 UIScrollView
의 하위 클래스 그래서 당신은 그냥있는 ScrollView delegate
방법과 UICollectionView에 따라 당신의 UIView
및 UIImageView
의 제약입니다 원하는 것을 달성 할 수있다.
여기서는 scrollview 대리자를 사용하여이 작업을 수행하는 예를 하나씩 제공 할 것입니다.
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView == collectionView{
if scrollView.contentOffset.y == 0{
UIView.animate(withDuration: 0.5) {() -> Void in
self.constTopTagHeight.constant = 175 // Your UIView and imageview constraints adjust.
self.view.layoutIfNeeded()
}
}
else{
UIView.animate(withDuration: 0.5) {() -> Void in
self.constTopTagHeight.constant = 0 // Your UIView and imageview constraints adjust.
self.view.layoutIfNeeded()
}
}
}
}
희망이 도움이됩니다.
답변 해 주셔서 감사합니다. 명확히하기 위해,'constTopTagHeight'는 제가 맨 위에있는 뷰입니다. 권리? 이것을 scrollview에 적용하면 내 topview 만 줄어들고 collectionView를 맨 위로 스크롤하지 않습니다. 내가 뭐 잘못하고 있니? –
예 constTopTagHeight는 뷰 높이 상한제입니다. 위의 scrollview delagate 메소드에서 관리해야합니다. –