0

UIAccelerometerバブル レベル アプリと同様に、画面上のレベルを制御する方法を示すフレームワークまたはサンプル コードはありますか?

次のように使用する必要があることに気づきました:

UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = self;
accel.updateInterval = 1.0f/50.0f;

- (void)accelerometer:(UIAccelerometer *)acel didAccelerate:(UIAcceleration *)aceler
{
    // get angle in radians
    float angle = atan2(aceler.x, aceler.y);
    // convert to degrees
    float angleInDegrees = (angle * 180/M_PI);

    NSLog(@"%.0f degrees",angleInDegrees);

    if (angleInDegrees > 90) {
        self.levelIndicator.center = CGPointMake(self.cachedLevel.x+angleInDegrees-90, self.cachedLevel.y);
    } else {
        self.levelIndicator.center = CGPointMake(self.cachedLevel.x-angleInDegrees+90, self.cachedLevel.y);
    }

}

を使用して、角度に基づいて中心からangleInDegrees単純な左または右に移動するにはどうすればよいですか? UIView上記の私の試みはあまり成功しませんでした。

4

1 に答える 1

2

Apple は、あなたが求めているものとまったく同じサンプル コードをいくつか持っていました。Apple が開発サイトで提供しなくなったように見えても、誰かがそれを保存しようと考えているようです。;)

楽しみ!

https://github.com/acekiller/iOS-Samples/tree/master/BubbleLevel

于 2013-04-25T23:48:23.587 に答える