2011-09-06 9 views
3
UIImageView * frontImageView = [[UIImageView alloc] initWithImage:[UIImage 
                    imageNamed:@"view.png"]]; 

UIView * containerView = [[UIView alloc] initWithFrame:frontImageView.bounds]; 
containerView.center = self.view.center; 

[self.view addSubview:containerView]; 
[containerView addSubview:frontImageView]; 

UIImageView * backImageView = [[UIImageView alloc] initWithImage:[UIImage 
                    imageNamed:@"view.png"]]; 
backImageView.center = frontImageView.center; 
[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:1.0]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft 
         forView:containerView 
         cache:YES]; 
[frontImageView removeFromSuperview]; 
[containerView addSubview:backImageView]; 
[UIView commitAnimations]; 

나는 containerView를 뒤집기를 원하지만 작동하지 않습니다.뒤집기 방법?

답변

2

This 같은 문제에 대한 비슷한 게시물입니다.

showMoreInfo:

편집의 애니메이션 전환보기에서 self.view.superview을 사용해보십시오 : @ 제이슨 Harwig 당신이 시도 할 것을 제안 하위 뷰 를 추가하는 것처럼 another post 보면 것 같습니다 애니메이션을 커밋하기 전에이 문제입니다. 왜 그렇게 해보지 않으 시죠?

희망이 도움이됩니다!

+0

미안 해요, 내가 superview 싶지 않아, 난 그냥 컨테이너보기를 돌려주고 싶다 –

+0

고마워, 그냥 그 문제. 매우 감사합니다 –

+0

문제 없습니다! 다행스럽게 도울 수있어! – msgambel

0

사용 해달라고

[frontImageView removeFromSuperview];

이 기능입니다. 애니메이션이 발생하기 전에 어떤 일이 일어나고, 당신의 견해는 수퍼 뷰에서 제거됩니다. 따라서 애니메이션이 없습니다. 대신 이것을 사용하십시오.

[UIView setAnimationDidStopSelector:@selector(removeImageView)]; 

및 다른 방법을

,

-(void) removeImageView 
{ 
     if([yourImageView superview]) 
      [yourImageView removeFromSuperview]; 
} 
+0

[containerView sendSubviewToBack : frontImageView]; 난 그냥 이렇게 해보려고했는데 애니메이션이 없었어. –

0

설정 containerView의 프레임 properly.You를 잘 작성하지 frontImageView.bounds로 설정했습니다.

+0

친애하는 Hitesh, 나는 그것을 바꿨지 만 도움은 안된다. –