2011-11-21 5 views
1

UIImageViews를 보유하고있는 UIScrollView가 있습니다.UIScrollView의 애니메이션 전환

페이드 (fading) 스타일을 사용하여 뷰 사이의 전환을 애니메이션으로 만들고 싶습니다. 따라서 색인 0에 있고 계속 진행하면 색인 1의 이미지가 이미지 0 위에 표시됩니다.

도움이 필요하십니까?

감사합니다. 두 견해 사이에 페이딩의

+0

당신이 페이딩 효과를 사용하여보기 사이를 전환 할 경우는있는 UIScrollView에서 그들을 접대의 목적을 무엇인가? – Krumelur

+0

@Krumelur 기본 동작은 고전적인 UIScrollView이기 때문에이 페이드 효과를 사용하는 "슬라이드 쇼"모드가 있습니다. –

+0

새로운보기를 표시하기 위해 스크롤 뷰의 내용 오프셋을 이동하기 때문에 까다로운 문제이므로 전환을 동시에 사라지게하기가 어렵습니다. 당신이 할 수있는 일은 당신이 스크롤 할 뷰의 상단에 현재 뷰의 복사본을 그리고, 스크롤 뷰를 새로운 위치로 설정하기 위해 컨텐트 오프셋을 조정 한 다음 복사본을 페이드 아웃하여 뷰 뒤에서 뷰를 노출시키는 것입니다. – Ben

답변

0

정말 간단한 방법 :

saveFrame = self.imageView2.frame; 
self.imageView2.frame = self.imageView1.frame; 
self.imageView2.alpha = 0; 
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1.0]; 
self.imageView1.alpha = 0; 
self.imageView2.alpha = 1; 
[UIView commitAnimations]; 
+0

그러나 imageView1과 imageView2의 frame.origin.x가 다르면 UIScrollView에 있으므로 alpha 만 변경해도 문제가 해결되지 않습니다. –

+0

[UIView beginAnimations ...] 전에보기를 이동할 수 없습니까? 또는 애니메이션의 일부로. – Krumelur

+0

이 아이디어로 해결했습니다. imageView1을 imageView2의 프레임으로 옮기고 나중에 복원해야했습니다. –