Modo paisagem SOMENTE para iPhone ou iPad

Eu quero criar um aplicativo que não use o modo retrato.

Eu não tenho certeza se eu preciso editar o plist ou ter código além do plist

Código encontrado aqui

Lançamento no modo paisagem

Os aplicativos no iPhone OS normalmente são iniciados no modo retrato para corresponder à orientação da canvas inicial. Se você tiver um aplicativo que seja executado nos modos retrato e paisagem, seu aplicativo deve sempre iniciar no modo retrato inicialmente e permitir que os controladores de exibição girem a interface conforme necessário, com base na orientação do dispositivo. Se seu aplicativo for executado apenas no modo paisagem, no entanto, você deverá executar as seguintes etapas para iniciá-lo inicialmente em uma orientação de paisagem.

  • No arquivo Info.plist do seu aplicativo, adicione o UIInterfaceOrientation
    chave e definir o seu valor para o
    modo paisagem. Para paisagem
    orientações, você pode definir o valor
    desta chave para
    UIInterfaceOrientationLandscapeLeft
    ou
    UIInterfaceOrientationLandscapeRight.

  • Exponha suas exibições no modo paisagem e verifique se as opções de auto-redimensionamento estão definidas corretamente.

  • Substitua o método shouldAutorotateToInterfaceOrientation: do controlador de exibição e retorne YES somente para o
    orientação de paisagem desejada e NÃO
    para orientações de retrato.

Para tornar seu modo de paisagem de aplicativo apenas , você deve usar “Orientações de Interface Suportadas”. ( Targets -> YourApp -> Supported Interface Orientations -> Landscape Left & Right )

Orientações de Interface Suportadas

Você também deve definir a orientação do aplicativo no arquivo Info.plist do aplicativo ( Arquivo Info.plist ) acrescentando a tecla Supported interface orientations com os valores Landscape (left home button) e Landscape (right home button) . linha de

Você pode usar willRotateToInterfaceOrientation e / ou didRotateFromInterfaceOrientation para manipular alterações de orientação.


shouldAutorotateToInterfaceOrientation está obsoleto no iOS 6 e fora.

O retorno de UIDeviceOrientationLandscapeLeft/Right para shouldAutorotateToInterfaceOrientation deve tornar seu aplicativo “paisagem”:

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight); } 

Também pode também alterar o Info.plist e a View Orientation seu aplicativo (conforme explicado acima).


Além disso, recomendo alterar a orientação da sua exibição para Landscape no Inspetor de Atributos . panorama

Você também pode encurtar tudo para

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

edite o plist para suportar apenas o landscape, então certifique-se de que em cada uiviewcontroller / uitabbar etc., no shouldAutoRotateToInterfaceOrientation , o return diz return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight)); .