He creado una app con muchos puntos de vista y quiero tener algunos de ellos sólo en la orientación vertical.
Yo he programado esta en .m de archivo:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return NO;
}

Necesito hacer algo más? Puede ser en .h archivo?

Y la solución no está funcionando? Si no, ¿qué sucede?
stackoverflow.com/questions/12630359/…

OriginalEl autor Ash Var | 2012-07-11

5 Comentarios

  1. 5

    Solución más limpia para mí:

    Ir a Info.plist archivo y para la «interfaz Compatible con las orientaciones», eliminar todos los valores excepto el «Retrato (en la parte inferior del botón home)».

    OriginalEl autor da Rocha Pires

  2. 4

    Usted sólo tiene que devolver un valor BOOLEANO en el método. Si sólo desea el modo de retrato, que significa:

    -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
        return (interfaceOrientation == UIInterfaceOrientationPortrait) ;
    }

    Si está bien ser también Vertical hacia abajo (cuando en el retrato gire el dispositivo de 180 grados), entonces el método de aspecto:

    -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
        return (interfaceOrientation == UIInterfaceOrientationPortrait) || (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
    }

    La última condición puede ser reemplazado con una llamada a UIDeviceOrientationIsPortrait(interfaceOrientation), que hace la misma comparación
    (cf: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIKitFunctionReference/Reference/reference.html)

    LE: Si esto no funciona, puede intentar usar el seguir ‘hack’: intentar pop y empuje la vista de nuevo (si está utilizando NavigationController). Usted puede utilizar el popViewControllerAnimated y pushViewController:animated: métodos para forzar el controlador de re-consulta de la orientación requerida 🙂
    Fuente: http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html)

    No entiendo por qué, pero no es trabajo
    No es trabajo…
    Que se para trabajar. Por favor, compruebe si: a) se reemplaza el método en la clase de derecho (un UiViewController) b) el método tiene el derecho de firma (nombre, params)
    He comprobado esto..
    ¿Qué versión de iOS está utilizando? En iOS6 las cosas han cambiado un poco. Echa un vistazo aquí: stackoverflow.com/a/12555205/75320 y developer.apple.com/library/ios/#documentation/uikit/reference/…

    OriginalEl autor Timotei

  3. 2

    Usted tiene que devolver YES para las orientaciones de apoyo (retrato), y no simplemente NO para todo. También asegúrese de que en el proyecto de destino de la configuración de la marca sólo el modo de retrato como compatibles.

    He horizontal y vertical marcada en el proyecto. Sólo quiero un par de pantallas a solo retrato. Y otros para estar al tanto del puerto. y para que. orientación.

    OriginalEl autor DrummerB

  4. 1

    agregar métodos siguientes para su viewcontroller. Esto asegurará que sólo portarait se admite el modo por ejemplo.

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
        return UIInterfaceOrientationIsPortrait(interfaceOrientation);
    }
    -(NSUInteger)supportedInterfaceOrientations
    {
        return UIInterfaceOrientationMaskPortrait;
    }

    OriginalEl autor blacklion9279

  5. 0

    Probar esta..

     -(BOOL)shouldAutorotate
     {
      return NO;
     }
    
    -(NSUInteger)supportedInterfaceOrientations
     {
     return UIInterfaceOrientationMaskPortrait;
     }
    
     - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
     {
      return (interfaceOrientation == UIInterfaceOrientationPortrait);
     }

    OriginalEl autor objc_developer

Dejar respuesta

Please enter your comment!
Please enter your name here