2012-05-08 6 views
0

modalviewcontroller를 닫을 사용자 정의 애니메이션 코드를 넣을 올바른 위치는 어디입니까?dismissModalViewController의 사용자 정의 UIView 애니메이션

viewdiddisappear에 다음을 넣으려고했지만 viewwilldisappear가 올바르게 동작하지 않습니다. 이견있는 사람? 감사!!

[UIView beginAnimations:@"suck" context:NULL]; 
[UIView setAnimationDuration:1.0]; 
[UIView setAnimationTransition:103 forView:self.navigationController.view cache:YES]; 
[UIView setAnimationPosition:CGPointMake(260, 431)]; 
[UIView commitAnimations]; 
+0

** 보내는 ** UIViewController를 변경하려고합니까? 나는 당신이 그것에 영향을 미칠 수 있다고 생각하지 않습니다. 원하는 효과는 무엇입니까? – mbm29414

+0

도움을 주셔서 감사합니다. 휴지통처럼 모달보기를 닫으려고합니다 (사진 앱 및 메일 앱 효과와 유사). 문제는이 애니메이션을 할 때 모달 뷰 위에 레이어를 만들고 해당 레이어에서 애니메이션을 수행하는 것입니다. 그러나 효과 후에도 모달 뷰가 계속 표시됩니다. – chourobin

+0

그런 다음 애니메이션을 수행하고 완료 블록에서 'dismissModalViewControllerAnimated : NO'를 호출하십시오. 그러면 'UIViewController'를 제거 할 수 있습니다. – mbm29414

답변

2

이 시도 :

UIViewController *myController = [[[MyViewController alloc] init] autorelease]; 
UIViewAnimationTransition transition = UIViewAnimationTransitionCurlUp; // or whatever effect you want 
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationTransition:transition forView:[self window] cache:YES]; 
[navController presentModalViewController:myController animated:NO]; // or dismissModalViewController in your case 
[UIView commitAnimations]; 
+0

도움 주셔서 감사합니다! 불행히도이를 즉시 해제하면 화면에서 애니메이션이 제거됩니다. – chourobin