У меня есть два контроллера вида, A и B. A предназначен для поддержки только портрета, тогда как B может поддерживать пейзаж. Я показываю B, используя сдерживание api.вращение и сдерживание api
[self addChildViewController:child];
[self.view addSubview:child.view];
child.view.frame = self.view.bounds;
[child didMoveToParentViewController:self];
Я реализовал
- (BOOL)shouldAutorotate
{
UIViewController *current = _presentingChild ? _child : self;
return [current shouldAutorotate];
}
- (NSUInteger)supportedInterfaceOrientations
{
UIViewController *current = _presentingChild ? _child : self;
return [current supportedInterfaceOrientations];
}
все работает как шарм. Если устройства являются ландшафтными, а A и I представляют B, вращение немедленно поворачивается.
проблема возникает, когда я увольняюсь B. Если на устройстве есть пейзаж A, отображается пейзаж (и этого не должно быть).
Есть ли у вас предложение решить эту проблему? Я знаю, что могу использовать модальный контроллер, и это решит проблему. Но я не хочу использовать modal vc для этой конкретной ситуации.