iOS предотвращает вращение в определенных видах - PullRequest
3 голосов
/ 25 августа 2011

У меня есть viewcontroller и его вид, который поддерживает только альбомную ориентацию в iPad.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{

if (interfaceOrientation == UIInterfaceOrientationPortrait)
    return NO;
else
    return YES;

}

Но у меня есть вид с проигрывателем фильмов, который должен быть только в портретном режиме.Таким образом, в этом представлении я делаю это:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{

if (interfaceOrientation == UIInterfaceOrientationPortrait)
    return YES;
else
    return NO;
}

Моя проблема заключается в том, что если я в первом контроллере просмотра установлю портрет в NO, то мой второй контроллер просмотра никогда не будет вращаться в портретном.Secondviewcontroller добавляется как подпредставление первого.Как я могу получить вид 1, чтобы не повернуть в портретную, но получить вид 2, чтобы не повернуть в ландшафт.Это приложение для демонстрационных целей, так что на самом деле я просто ищу технический ответ на этот вопрос.

Ответы [ 2 ]

2 голосов
/ 26 августа 2011

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

-(void)viewDidAppear:(BOOL)animated {   
    UIViewController *c = [[UIViewController alloc] init];
    [self presentModalViewController:c animated:NO];
    [self dismissModalViewControllerAnimated:NO];
    [c release];    
}
0 голосов
/ 26 августа 2011

Когда я сталкивался с этой проблемой в прошлом, я сделал это:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
   if(mayRotate){
      return YES;
   }else{
      return NO;
   }
}

Я думаю, что есть немного больше, но у вас должна быть идея.

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