puedo para descargar como apple app aplicaciones objective-c rotation ios6

objective-c - para - itunes



La aplicación ios 6 está girando, incluso con shouldAutorotate: NO (4)

Resolví el problema al crear una categoría para el controlador de navegación:

@implementation UINavigationController (iOS6fix) -(BOOL)shouldAutorotate { return [[self.viewControllers lastObject] shouldAutorotate]; } -(NSUInteger)supportedInterfaceOrientations { return [[self.viewControllers lastObject] supportedInterfaceOrientations]; } - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation]; } @end

Gracias a todos por las respuestas!

desde iOS6 tengo grandes problemas con la rotación. Implementé todos los nuevos métodos de rotación (shouldAutorotate, preferredInterfaceOrientationForPresentation, supportedInterfaceOrientation), pero todas las vistas siguen girando. Lo curioso es que las vistas mantienen sus tamaños y el resto de la ventana (en horizontal) es negra.

Esa es la forma en que lo implemento, ¿hay algo mal?

#pragma mark - #pragma mark - InterfaceOrientation iOS 5 //Deprecated in iOS 6 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return (interfaceOrientation == UIInterfaceOrientationPortrait); } #pragma mark - #pragma mark - InterfaceOrientation iOS 6 - (BOOL)shouldAutorotate{ return NO; } - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{ return UIInterfaceOrientationPortrait; } - (NSUInteger)supportedInterfaceOrientations{ return UIInterfaceOrientationMaskPortraitUpsideDown; }

Gracias por su ayuda amigos.


Tuve eso también, rota incluso si lo gira a NO.

Dos opciones:

  1. ve a la configuración de tu proyecto y cambia las posibles orientaciones

  2. Elimine todos los métodos para AUTOROTATE. Incluso si están configurados en NO, rotan por mí.


Usé la siguiente categoría en UIViewController para tener el paisaje solo en iOS5 y 6. Tal vez ayuda a alguien.

#import <UIKit/UIKit.h> @implementation UIViewController (iOS6fix) -(BOOL)shouldAutorotate { return YES; } -(NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskLandscape; } - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { return UIInterfaceOrientationLandscapeLeft; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return UIInterfaceOrientationIsLandscape(interfaceOrientation); } @end


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //Make sure your window to assgin the view controller object to rootViewController, Please don''t add controller view as a sub view on window. self.window.rootViewController = viewController; }