使用UIAccelerometer创建一个级别的应用程序

时间:2013-04-25 23:44:11

标签: ios objective-c uiview uiaccelerometer

是否有框架或示例代码显示如何使用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?我上面的尝试并不是很成功。

1 个答案:

答案 0 :(得分:2)

Apple过去常常会有一些示例代码,而且看起来有人想要保存它,即使Apple似乎不再在他们的开发网站上提供它。 ;)

享受!

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