Tengo un helloController que es un UIViewController, si giro el dispositivo, quiero que lo cambie para cargar un nuevo plumín "helloHorizontal.xib", ¿cómo puedo hacer? gracias.¿Cómo cambiar una nueva punta cuando giro el dispositivo?
6
A
Respuesta
1
que podrías algo así, (no tengo Xcode práctica lo que este código podría no ser completamente exactos)
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if((interfaceOrientation == UIInterfaceOrientationLandscapeRight) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft)){
WhatYourNewViewClassISCAlled* newView = [[WhatYourNewViewClassISCAlled alloc] initWithNibName:@"NIBNAME" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:newView animated:YES];
}
1
Ésta es la manera correcta, creo. Lo estoy usando en mis aplicaciones y funciona perfectamente
- dispara en girará, no debe girar (espera hasta que el anim rotación está a punto de comenzar)
- utiliza la convención de nomenclatura para los archivos de Apple horizontal/vertical (Default.png es Default-landscape.png si quieres Apple para cargar automáticamente una versión del paisaje)
- vuelve a cargar el nuevo SEMILLA
- que restablece el self.view - esto va a actualizar automáticamente la pantalla
- y luego llama a viewDidLoad (Apple NO lo llamará por ti, si vuelves a cargar manualmente un NIB)
(NB stackoverflow.com requiere esta frase aquí - hay un error en el formateador de código)
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if(UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
{
[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@-landscape", NSStringFromClass([self class])] owner:self options:nil];
[self viewDidLoad];
}
else
{
[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", NSStringFromClass([self class])] owner:self options:nil];
[self viewDidLoad];
}
}
Cuestiones relacionadas
- 1. Android, ¿cómo no destruir la actividad cuando giro el dispositivo?
- 2. ¿Cómo cambiar el tipo de punta de flecha?
- 3. ¿Cómo giro una imagen?
- 4. Cambiar el nombre del dispositivo Bluetooth Android
- 5. Cómo deshabilitar el globo de "punta" macro de Visual Studio?
- 6. Cambiar la altura de una entrada personalizada cuando el dispositivo gira
- 7. cómo cambiar el flash del dispositivo [: aviso] en los rieles
- 8. ¿Cómo giro una etiqueta en C#?
- 9. iOS: Cambiar el Volumen del Dispositivo
- 10. ¿Cómo establecer la posición en el giro?
- 11. UIViewController subclase no init llama cuando se carga de punta
- 12. ¿Cómo giro una imagen en el dominio de la frecuencia?
- 13. No cargue el dispositivo 'initial_data.json' cuando pruebe
- 14. C# Cómo cambiar programáticamente el dispositivo de reproducción
- 15. Detectar cuando se conecta una nueva pantalla
- 16. ¿Cambiar a una nueva versión del JDK?
- 17. ¿Cómo abrir una nueva pestaña en JavaScript sin cambiar a la nueva pestaña?
- 18. Cómo crear una instancia de UITableViewCell desde una punta
- 19. NSViewController y múltiples subvistas de una punta
- 20. ¿Cómo debo hacer para que mi inputAccessoryView cambie de tamaño cuando gire el dispositivo?
- 21. ¿Cómo iniciar un servicio cuando el dispositivo Android está encendido?
- 22. Cuando un dispositivo iOS gira, ¿cómo puedo cambiar la orientación de un solo elemento?
- 23. Cómo cambiar el propietario de una aplicación appengine (mudarla/venderla a una nueva empresa)
- 24. ¿Cómo se evita que una información sobre herramientas jquery.qtip2 se oculte cuando el mouse está sobre la punta?
- 25. ¿Cómo giro un div con Raphael.js?
- 26. Cambiar la configuración de idioma (configuración regional) para el dispositivo
- 27. Carga manual de una punta localizada diferente en iOs
- 28. ¿Cómo cambiar la posición de la punta de flecha de NSPopover?
- 29. giro 'dirección URL incorrecta'
- 30. ¿Cómo implementar una paginación robusta con una API RESTful cuando el conjunto de resultados puede cambiar?
Pero entonces la vista con orientación vertical todavía estará en la pila, ¿no es así? Entonces, el botón Atrás señalará lo incorrecto. –
Buen punto, puedes ocultar la barra de navegación cuando las vistas giran o tienen la vista ya creada y fundirla y desvanecer la otra vista cuando ocurre la rotación. – octermircty