2014-10-18 3 views
1

콜렉션 뷰 셀의 배경을 변경하는 데이 코드가 있지만 어떤 이유로 작동하지 않습니다.스위프트 애니메이션 배경이 콜렉션 뷰 셀에서 작동하지 않습니다.

UIView.animateWithDuration(2, animations: {() -> Void in 
     self.backgroundColor = UIColor.blackColor() 
    }) 

도와 주실 수 있습니까?

+0

변경 사항이 애니메이션없이 작동합니까? 그렇지 않다면 애니메이션은 그 애니메이션과 아무 관련이 없습니다. – Mundi

+0

변경 사항은 애니메이션없이 작동합니다. 애니메이션 유무에 상관없이 동일하게 작동합니다. 배경을 즉시 바꿉니다. –

답변

6

backgroundColor 속성은 셀에 애니메이션 가능하지 않습니다. 당신이 정말로 원하는 것은 한 색상에서 다른 색상으로 혼합하는 것입니다.

하나의 해결책은 backgroundView의 색상을 설정하고 alpha을 움직이는 것입니다. 또한 자신 만의 뷰를 배경으로 삽입하고 반대 방향으로 알파를 움직여 변경을 생성 할 수 있습니다.

또 다른 해결 방법은 layer 레벨로 떨어 뜨려 레이어 배경색을 애니메이션으로 만드는 것입니다.

UIView.animateWithDuration(2, animations: {() -> Void in 
    self.layer.backgroundColor = UIColor.blackColor().CGColor 
}) 
+0

완벽한! 레이어 솔루션을 애니메이션으로 적용하면 효과적입니다. –

관련 문제