У меня есть пара модальных представлений, которые работали «просто отлично» и теперь перестали возвращаться к родительскому контроллеру представления и «код не изменился».- классическое описание проблемы.
Я отладил отклонение модального представления, и родительский контроллер представления - ноль, который объясняет проблему, но не причину.Я обновил свой SDK с 4.1.2 до 4.2, чтобы начать работу с iOS 5. Я подозреваю, что у меня есть новый ARC для управления памятью и мой стиль автоматического выпуска по сравнению с retain / release.
Ниже приведен кодмой контроллер rootview для AboutViewController:
- (IBAction)doInfo:(id)sender {
NSLog(@"%s", __FUNCTION__);
AboutViewController *aboutViewController = [[[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:[NSBundle mainBundle]] autorelease];
if (aboutViewController) {
aboutViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
aboutViewController.hidesBottomBarWhenPushed = YES;
self.navigationController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
self.navigationController.navigationBarHidden = YES;
[self presentModalViewController:aboutViewController animated:YES];
}
}
Ниже приведено отклонение в AboutViewController обратно к его родителю после нажатия кнопки «Готово».
- (IBAction)doDone:(id)sender {
NSLog(@"%s", __FUNCTION__);
[[self parentViewController] dismissModalViewControllerAnimated:YES];
}
ОК ... Я исправилизменив следующим образом.Теперь вопрос, почему это работало раньше?
- (IBAction)doDone:(id)sender {
NSLog(@"%s", __FUNCTION__);
[self dismissModalViewControllerAnimated:YES];
}