Странная анимация при извлечении UIViewController из UINavigationController (IOS 5) - PullRequest
12 голосов
/ 11 декабря 2011

Я реализую контроллер представления контейнера, где часть экрана представляет собой представление, содержащее представление UINavigationController. Мой viewDidLoad: выглядит примерно так:

// ...
UIViewController *myNavigationController = [self.storyboard instantiateViewControllerWithIdentifier:@"MyNavigationController"];
[self addChildViewController:myNavigationController];
[self.myContainerView addSubview:myNavigationController.view];
[myNavigationController didMoveToParentViewController:self];
// ...

Нет проблем с поворотами, и вставка новых контроллеров представления в контроллер навигации работает нормально. Но когда пользователь нажимает на кнопку Back UIBarButtonItem, не только self.myContainerView, но и целое self.view анимируется вверх, подобно kCATransitionFromBottom, вместо обычной анимации всплывающего контроллера навигации. После еще нескольких отладок я понял, что методы контроллера viewWillDisappear: и viewWillAppear: моего контроллера вызова вызываются при извлечении из myNavigationController.

К сожалению, я застрял. Я буду признателен, если кто-нибудь может дать представление о том, что происходит и как обойти это.

Edit: ОК, неважно Я забыл реализовать shouldAutorotateToInterfaceOrientation: в одном из дочерних элементов моего контроллера навигации. возврат YES исправил проблему.

1 Ответ

14 голосов
/ 12 декабря 2011

ОК, не важно. Я забыл реализовать mustAutorotateToInterfaceOrientation: в одном из дочерних элементов моего контроллера навигации. возврат YES устранил проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...