Я использую следующий код в моем представляя VC исчезать в ребенке модальных VC, и это работает отлично:Как отклонить модальный VC с угасающей анимацией?
self.infoViewController.view.alpha = 0.0;
[self.navigationController presentModalViewController:self.infoViewController animated:NO];
[UIView animateWithDuration:0.5
animations:^{self.infoViewController.view.alpha = 1.0;}];
Однако я не могу заставить его исчезнуть, я попробовал несколько вещей, это последнее я попробовал, что не работает:
- (IBAction)dismissAction:(id)sender
{
if ([[self parentViewController] respondsToSelector:@selector(dismissModalViewControllerAnimated:)])
{
[[self parentViewController] dismissModalViewControllerAnimated:YES];
self.parentViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
self.parentViewController.view.alpha = 0.0;
[UIView animateWithDuration:0.5
animations:^{self.parentViewController.view.alpha = 1.0;}];
} else
{
[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
self.presentedViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
self.presentedViewController.view.alpha = 0.0;
[UIView animateWithDuration:0.5
animations:^{
self.presentedViewController.view.alpha = 1.0;}];
}
}
модальный регулятор зрения затухать, но сразу, а не в течение определенного периода времени, как это, когда его отображения.
Если вы действительно хотите, чтобы этот код запускался на устройствах раньше, чем iOS 5, вам необходимо защитить вызов 'представленViewController', а также' rejectModalViewControllerAnimated'. – smparkes
Если вы видите анимацию увольнения, звучит так, как будто этот код запускается, и его увольняют по другому пути. – smparkes