2009-03-09 4 views
7

UIView를 내 앱에 추가하여 애니메이션으로 만들 수 있습니다.애니메이션이있는 SuperView에서 UIVIew를 제거하십시오.

그러나이보기의 제거를 슈퍼보기에서 어떻게 움직일 수 있습니까?

내가 사용하고 있습니다 :

CATransition *animation = [CATransition animation]; 
[animation setDuration:1]; 
[animation setType:kCATransitionReveal]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; 
[[myview layer] addAnimation:animation forKey:kCATransitionReveal]; 

가 전환 "에"를 애니메이션 ... 당신은 어떻게 "밖으로"전환 애니메이션을 할 ????

답변

24

화면이 화면 밖으로 이동하도록 축소/축소/확장/페이드 한 다음 애니메이션이 끝날 때 실제 제거를 수행합니다.

beginAnimations/commitAnimations 블록 사이의 뷰 속성 (위치/크기/오프셋)을 변경하여이 작업을 수행 할 수 있습니다. 그런 다음 UIKit은 지정된 시간 동안 이러한 속성을 애니메이션화합니다.

예 :

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.30f]; 
view.transform = 
    CGAffineTransformMakeTranslation(
    view.frame.origin.x, 
    480.0f + (view.frame.size.height/2) // move the whole view offscreen 
); 
background.alpha = 0; // also fade to transparent 
[UIView commitAnimations]; 

애니메이션 종료 알림에서보기를 제거 할 수 있습니다.

+0

감사합니다. 그게 내 질문이라고 가정합니다. 어떻게 화면을 움직여서 화면이 움직이는 지 보여줍니다. –

+2

아, 답변을 명확하게 대답 .. tho downvote 필요가 없습니다! –

+0

Ahhhh ... 고맙습니다. 정말 고맙습니다. 너무 이상한 오프 스크린 전환은 구워지지 않습니다. 도움말에 감사드립니다! –