UICollection 위에 두 개의 레이블이 있으며 콜렉션 뷰에서 스크롤 할 때 애니메이션을해야합니다. 기본적으로 사용자에게 화면이 하나의 큰 스크롤보기가 가능하다는 느낌을줍니다. 나는 그것이 작은 화면에 잘 보이게하기 위해 다음 코드로 왔어요하지만 나에게 내가 원하는 효과를 포기하지 않을 것UICollectionView를 스크롤하는 동안 NSLayoutConstraint에 애니메이션 적용
:
내보기 인터페이스 빌더에서 다음과 같습니다 :
func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
if(velocity.y>0){
if Device.IS_3_5_INCHES() {
self.topConstraint.constant = -100
}
if Device.IS_4_INCHES() {
self.topConstraint.constant = -70
}
if Device.IS_4_7_INCHES() {
self.topConstraint.constant = 0
}
if Device.IS_5_5_INCHES() {
self.topConstraint.constant = 0
}
}else{
self.topConstraint.constant = 50
}
}
이 코드의 문제점은 마치 콜렉션보기의 일부인 것처럼 화면이 애니메이션 대신 움직입니다.
이 코드의 다른 문제는 다른 방향으로 스크롤을 시작하자 마자 '뒤로 이동'합니다. UIScrollView의 맨 위 또는 맨 아래에 있더라도 상관 없습니다. TopConstraint를 50으로 다시 설정하면 맨 위에있을 때만 행복합니다. 여기
대안으로 컬렉션보기 헤더를 사용할 수 있습니까? – Danoram
왜 첫 번째 2 셀이 전체 행을 차지하고 각 셀 안에 레이블을 넣는 것이 아닌가? – JustinM
나는 무엇이든 열어. 스크롤 할 때 헤더가 사라 집니까? –