Tengo una aplicación para iPad que usa toda la pantalla (es decir, UIStatusBarHidden
se establece como verdadero en el archivo Info.plist). Los marcos de la ventana principal y de la vista principal están configurados en (0, 0, 768, 1024). La vista principal tiene activado multitouch.¿Pueden los puntos Touch/iPad Touch estar equivocados debido a la calibración?
El controlador de vista tiene el código para manejar toques:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
for (UITouch *touch in touches) {
CGPoint location = [touch locationInView:nil];
NSLog(@"touchesMoved at location %@", NSStringFromCGPoint(location));
}
}
Cuando ejecuto la aplicación en el simulador, funciona más o menos como se esperaba. Cuando muevo el mouse de un borde de la pantalla al otro, los valores reportados de X van de 0 a 767. Los valores de Y reportados van de 20 a 1023. (Es un known issue que el simulador no informa toca en el top 20 . píxeles de la pantalla, incluso cuando no hay una barra de estado)
Esto es lo raro: cuando ejecuto la aplicación en un iPad real, los valores X ir de 0 a 767 como se esperaba, pero reportaron valores Y van de -6 a 1017, no de 0 a 1023 como era de esperar.
El hecho de que parezca funcionar correctamente en el simulador me lleva a sospechar que las pantallas táctiles de los dispositivos reales no están perfectamente calibradas, y el mío simplemente está informando valores Y que están a seis píxeles de distancia. ¿Alguien puede verificar que este es el caso? De lo contrario, ¿hay algo más que pueda explicar que los valores Y estén a seis píxeles de distancia de lo que espero?
(En unos pocos días, debería haber una segunda iPad, por lo que puede probar esto con otro dispositivo y comparar los resultados.)
¿Qué tal un iPhone, podría ejecutar la misma prueba en una y ver cómo le va? – jamone
Gracias por verificar. –
jamone: en realidad no tengo un iPhone a la mano en este momento. Lo siento. – MrHen