rotacion - rotar pantalla iphone 6
convertPoint: toView: en el modo horizontal, dando valores incorrectos (1)
Tengo una vista que se crea en modo horizontal (mucho después de la rotación, etc.).
En esta vista, quiero encontrar un punto relativo a la ventana principal.
El siguiente código funciona en modo vertical, pero en landscappe sigue devolviendo los valores como si estuviera en vertical.
CGPoint ptRelativeToWindow = [self convertPoint:self.bounds.origin toView:nil];
Resuelto
Esto resolvió el problema y da las coordenadas correctas:
[self convertPoint:self.bounds.origin toView:[UIApplication sharedApplication].keyWindow.rootViewController.view];
No puede usar la ventana principal para calcular las coordenadas relativas. La ventana principal recibe eventos de rotación y los pasa a los controladores, lo que significa que no cambia el tamaño en sí (siempre tiene los mismos límites de retrato). Es por eso que la solución que encontró tiene sentido: encuentra las coordenadas relativas a la vista del controlador raíz que recibe eventos de rotación y cambia su tamaño en consecuencia