Как переключать ориентации из контроллера вида, который не является корневым - PullRequest
0 голосов
/ 06 июня 2009

У меня проблемы с поиском решения, позволяющего изменить ориентацию в контроллере представления, который не является корневым. Например, в служебном проекте, который имеет контроллер корневого вида, контроллер основного вида для основного вида и контроллер вида с обратной стороны для вида с обратной стороны, единственное место, где я могу управлять ориентацией, - это контроллер корневого вида. Реализация кода в основном или оборотном виде не ограничивает и не разрешает ориентации.

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

РЕДАКТИРОВАТЬ: Чтобы уточнить, я хочу заблокировать основной вид только в альбомной ориентации, а перевернутый вид в портретной ориентации - эти виды не должны быть в состоянии вращаться. - Спасибо.

1 Ответ

1 голос
/ 07 июня 2009

В вашем .m файле "main window" реализуйте следующий метод.

-(BOOL)shouldAutorotateToInterfaceOrientation:UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);  // or whatever orientation is needed
}

В вашем файле .m с обратной стороны используйте следующий метод.

-(BOOL)shouldAutorotateToInterfaceOrientation:UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

В вашем приложении-делегате или в другом месте процесса запуска вы можете вызвать следующий метод для установки ориентации интерфейса на альбомную при запуске:

[application setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];  // should match the first method above.

Надеюсь, это поможет.

Cheers-

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