Как обеспечить альбомную ориентацию для дочернего вида, но не для родительского? - PullRequest
0 голосов
/ 02 июля 2010

У меня есть UINavigationController (Parent), который выдвигает UIViewController (Child).Я понимаю, что оба должны поддерживать:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return YES; //(interfaceOrientation == UIInterfaceOrientationPortrait);
}

Однако я не хочу, чтобы родитель мог поворачиваться в альбомную ориентацию.Как я могу применить это?

ОБНОВЛЕНИЕ:

Мой родитель был обновлен до:

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
            if (interfaceOrientation != UIInterfaceOrientationLandscapeRight ||interfaceOrientation != UIInterfaceOrientationLandscapeLeft )
          return NO;
            else
          return YES;
}

Но теперь ребенок не вращается.

1 Ответ

1 голос
/ 02 июля 2010

В вашем родительском View Controller вам нужно будет это реализовать.Если вы еще не подклассифицировали UINAvigationController, который вы используете для родителя, просто сделайте это и добавьте этот метод.

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

В дочернем подклассе View COntroller реализуйте метод, как вы сделали:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return YES; //(interfaceOrientation == UIInterfaceOrientationPortrait);
}
...