2013-06-26 9 views
0

Я действительно пытаюсь понять, как работает авторотация в iOS5 и iOS6 с родительским и дочерним элементами View Controller.iOS: Родительский/детский просмотр Контроллеры и авторотация

Предположим, у меня есть RootViewController с тремя UIViewControllers. . Контроллер Root View имеет три контроллера вида в виде контроллеров детского просмотра и отвечает за их замену UIViewControllers. Теперь, я хочу, чтобы один из контроллеров просмотра детей мог авторотировать во всех ориентациях интерфейса, а другой - только ориентацию Ориентация портрета.

Возможно ли это? Как это делается в iOS 5? И iOS 6?

Я действительно пытаюсь понять все, что должно быть. Атрибут для поддержки: ПоддерживаетсяInterfaceOrientations preferInterfaceOrientationForPresentation shouldAutorotate shouldAutomaticallyForwardRotationMethods методы. Но я не могу получить эту работу: \ ........

ответ

0

Для этих двух видов (которые вы хотите быть доступны только в портретном режиме):

открыть свои контроллеры Открыть и реализовать этот метод:

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{ 
return UIInterfaceOrientationIsPortrait(toInterfaceOrientation); // don't rotate if it's not portrait. 
// if you don't want the upside down portrait mode to be available as well, return the expression from below 
// return toInterfaceOrientation == UIInterfaceOrientationPortrait; 
} 

Это один фактически устаревшее, так что вы также можете использовать это:

- (BOOL) shouldAutorotate 
{ 
return YES; 
} 


-(NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskPortrait; 
    // if you want it to be also in upside down portrait mode, return the expression below 
    return UIInterfaceOrientationPortrait | UIInterfaceOrientationPortraitUpsideDown; 
} 
Смежные вопросы