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 回答