2015-06-14 2 views
0

У меня есть структура, как этоЗапирание вопрос ориентации в Iphone

LoginViewController-->Root 

LoginViewController-->UINav---->HomeViewController 

Теперь я должен зафиксировать эту ориентацию на портрет только для iPhone и должны обеспечить обе ориентации для IPad

для входа контроллера, Я написал это

-(BOOL)shouldAutorotate{ 

    if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) 
    { 
     return YES; 
    } 
    else 
    { 
    return NO; 
    } 
} 

Это прекрасно работает. У меня есть только портретная ориентация в iPhone и как портретная, так и ландшафтная ориентация в iPad.

Но тот же кусок кода написан в HomeViewController не работает. Это связано с контроллером навигации, который встроен в HomeViewConroller.

ответ

1

Хорошо. Я сам исправился. Публикация решения о том, что делать, поскольку это может помочь другим. Просто снимите проверки устройств ориентации (LandscapeLeft и LandscapeRight) в мишенями> Общие

enter image description here

И написать тот же кусок кода в каждом контроллере

-(BOOL)shouldAutorotate{ 

    if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) 
    { 
     return YES; 
    } 
    else 
    { 
     return NO; 
    } 
} 

Этот работал на меня. Теперь я получаю только портретный режим в iPhone и ландшафт, а также портретный режим в iPad.