2011-11-01 2 views
1

UIViewAnimationTransitionCurlUp을 사용하여 두 뷰 사이를 전환하려고합니다. 내 응용 프로그램이 가로 방향 (왼쪽 및 오른쪽)으로 작동하고 오른쪽에서 왼쪽으로 전환해야합니다. UIViewAnimationTransitionCurlUp이 아래에서 위로 작동하며 (원하는대로 오른쪽에서 왼쪽으로 움직이지 않음). 내 첫 번째 버전이었다 : 그것은 오른쪽에 홈 버튼과 풍경에서 근무UIViewAnimationTransitionCurlUp 가로 방향 (왼쪽 및 오른쪽 모두) 방향에서 오른쪽에서 왼쪽으로

self.oneView = [[[UIImageView alloc] initWithFrame:frame] autorelease]; 
self.twoView = [[[UIImageView alloc] initWithFrame:frame] autorelease]; 
[self.view addSubview:self.oneView]; 

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:1]; 
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]; 
[self.oneView removeFromSuperview]; 
[self.view addSubview:twoView]; 
[UIView commitAnimations]; 

(원하는대로 전환은 오른쪽 상단 모서리에서 시작 오른쪽에서 왼쪽으로했다). 그러나 기기를 왼쪽의 홈 버튼으로 돌리면 컬 효과가 거꾸로되어 왼쪽에서 오른쪽으로 시작되었습니다. 애니메이션이 장치 방향을 인식하지 못하는 것처럼 보였습니다. 나는 (시작했다 지금은 장치의 회전 알고 있었다 self.view 및

self.oneView/twoView): 
self.containerView = [[[UIView alloc] initWithFrame:frame] autorelease]; 
self.oneView = [[[UIImageView alloc] initWithFrame:frame] autorelease]; 

self.twoView = [[[UIImageView alloc] initWithFrame:frame] autorelease]; 
[self.view addSubview:self.containerView]; 
[self.containerView addSubview:self.oneView] 

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:1]; 
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.containerView cache:YES]; 
[self.oneView removeFromSuperview]; 
[self.containerView addSubview:twoView]; 
[UIView commitAnimations]; 

사이 (중간 컨테이너보기를 사용하려면 코드를 변경하고 모두 가로 방향. 제대로 작동하지만 최대 아래로 일했다 .. 이 문서에 설명 된대로) 오른쪽 하단 모서리로하지만 그것은 오른쪽에서 왼쪽으로 작업 할 또한 같은 전망의 transform 속성을 사용하려고 :. 그것은 도움이되지 않았다

self.containerView.transform = CGAffineTransformMakeRotation(-M_PI_2); 
self.oneView.transform = CGAffineTransformMakeRotation(M_PI_2); 

질문은 다음과 같습니다. 오른쪽에서 왼쪽으로보기 간 전환을 위해 가로 모드 (왼쪽 및 오른쪽 모두)에서 전환 UIViewAnimationTransitionCurlUp을 사용하는 방법? 도움 주셔서 감사합니다! 알렉스

+0

오른쪽에서 왼쪽으로 전환 할 수 있습니까? – Beto

답변

0

UIViewAnimationTransitionCurlDown을 사용해 보셨습니까? UIViewAnimationTransitionCurlUp의 반대 방향입니다.

+0

네, 실제로 UIViewAnimationTransitionCurlUp과 UIViewAnimationTransitionCurlDown을 사용하여 여러 이미지를 앞뒤로 이동합니다. 관련없는 사물을 피하기 위해 문제의 설명을 간소화했습니다. – ashumilov

관련 문제