2012-02-13 7 views

答えて

30

ネイティブコンパスUIViewはありません。磁力計を使用するためには、あなたはCoreLocationと、次のデリゲートメソッドを使用する必要があります:

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

が北を指すようにするUIViewを回転させると(bearingViewは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

はい、私はあなたが本来のコンパスUIViewについて正しいと思います。誰かが同意しないかどうか少し調べる。確かにはい、didUpdateHeadingは、私が描画を選択したイメージを更新する方法です。本当にありがとう。 – theDuncs

+1

ケラー - 誰もあなたを矛盾させていないので、私はあなたの答えを正しいものにします。ありがとう。 – theDuncs

+0

問題ありません。北を指すコンパス・ビューを作成するには、単に「コンパス・ニードル」グラフィックを作成し、その変換を介して回転させます。私の編集を参照してください。 – Keller

関連する問題