2012-02-13 8 views

Respuesta

30

No hay una brújula nativa UIView. Para utilizar el magnetómetro, que tendrá que utilizar CoreLocation y el siguiente método delegado:

- (void) locationManager:(CLLocationManager *)manager 
      didUpdateHeading:(CLHeading *)newHeading 

Para girar una UIView señalar Norte (bearingView es un UIImageView):

float heading = newHeading.magneticHeading; //in degrees 
float headingDegrees = (heading*M_PI/180); //assuming needle points to top of iphone. convert to radians 
self.bearingView.transform = CGAffineTransformMakeRotation(headingDegrees); 
+0

Sí, piensa que tienes razón sobre la brújula nativa UIView. Esperaré un poco para ver si alguien más no está de acuerdo. Ciertamente sí, didUpdateHeading es la manera de actualizar cualquier imagen que elija dibujar. Muchas gracias. – theDuncs

+1

Keller - ya que nadie más lo ha contradicho, tomaré su respuesta como la correcta. Gracias amigo. – theDuncs

+0

No hay problema. Para crear una vista de la brújula que apunta hacia el norte, simplemente crea un gráfico de "aguja de la brújula" y gíralo a través de su transformación. Ver mi Editar. – Keller

Cuestiones relacionadas