2012-05-08 7 views
0

Где место для размещения пользовательского кода анимации для отклонения modalviewcontroller.пользовательская анимация UIView в rejectModalViewController

Я попытался поместить следующее в 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

Затем сделайте анимацию, и в блоке завершения вызовите «rejectModalViewControllerAnimated: 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