Estoy tratando de detectar cualquier cambio en la orientación del dispositivo para poder actualizar las vistas.Ver notificaciones de rotación: ¿por qué didRotateFromInterfaceOrientation: no se llama?
Quiero actualizar los puntos de vista de si la orientación es vertical u horizontal, por lo que he implementado este método:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations.
return (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
Sé que si quiero actualizar las vistas para mostrar adecuadamente para la orientación actual, tendrá que poner en práctica algunos de los métodos siguientes:
– willRotateToInterfaceOrientation:duration:
– willAnimateRotationToInterfaceOrientation:duration:
– didRotateFromInterfaceOrientation:
– willAnimateFirstHalfOfRotationToInterfaceOrientation:duration:
– didAnimateFirstHalfOfRotationToInterfaceOrientation:
– willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:
Ahora, el problema es que no entiendo por qué ninguno de estos métodos son despedidos cuando puedo rotar el simulador.
me trataron así esta pieza de código:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
Pero aún nada. Entonces me pregunto, ¿el simulador dispara notificaciones de rotación? En caso afirmativo, ¿qué estoy haciendo mal?
¿Dónde implementó este método? –
Sí simulador enviar notificación de rotación. – Ishu
@Ishu: gracias por la información; @Deepak: si se refiere al método didRotateFromInterfaceOrientation, lo implementé en el archivo .m de mi controlador de vista; si está hablando de [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications], hice esto en viewDidLoad del controlador de vista – singingAtom