Я реализую контроллер представления контейнера, где часть экрана представляет собой представление, содержащее представление 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
, вместо обычной поп-анимации контроллера навигации. После нескольких дополнительных отладок я понял, что при вызове из myNavigationController
вызываются мои методы управления тегами viewWillDisappear:
и viewWillAppear:
.
К сожалению, я застрял. Я буду признателен, если кто-нибудь сможет дать представление о том, что будет и как обойти это.
Edit:
Хорошо, никогда не думай. Я забыл реализовать shouldAutorotateToInterfaceOrientation:
в одном из моих контроллеров. возвращающий YES
исправил проблему.