Я пытаюсь создать приложение для iPhone, которое имеет два подпредставления в главном окне. Каждое представление имеет свой собственный подкласс UIViewController, связанный с ним. Кроме того, в реализации каждого контроллера я добавил следующий метод:
-(BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
Таким образом, я ожидаю, что оба вида будут реагировать на изменения ориентации. Однако, это не так. Только представление first , добавленное в главное окно приложения, реагирует на ориентацию. (Если я поменяю местами порядок добавления представлений, откликнется только другое представление. Другими словами, любой из них будет работать, но только по одному за раз.)
Почему это? Разве невозможно обрабатывать изменения ориентации более чем одного вида?
Спасибо!
РЕДАКТИРОВАТЬ: У кого-то еще был этот вопрос, поэтому я копирую свое решение здесь:
Мне удалось решить эту проблему, предоставив корневое представление и контроллер корневого представления с методом «shouldAutoRotate ...» и добавив другие мои представления в качестве подпредставлений к корневому представлению. Подвиды наследуют поведение автоповорота, и связанные с ними контроллеры представления не должны переопределять «shouldAutoRotate ...»