ios - 使用 UIAccelerometer 创建关卡应用

标签 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?我上面的尝试不是很成功。

最佳答案

Apple 曾经有一些示例代码正是您所追求的,看起来有人想保存它,即使 Apple 似乎不再在他们的开发站点上提供它。 ;)

尽情享受吧!

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

关于ios - 使用 UIAccelerometer 创建关卡应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16226499/

相关文章:

ios - 我需要从我的应用程序中访问 IOS 联系人。

ios - React Native - 组件在 IOS 上有不需要的白色背景

ios - 在编译时检查框架是否存在?

xcode - 在屏幕底部放置一个 View

ios - UIView CA 转换后消除未对齐的像素

ios - macOS 上的 SwiftUI 嵌套 ScrollView 问题

iphone - VoiceOver 忽略可见 View ,并说出隐藏 View 的可访问性标签

objective-c - MKAnnotationView 缩放时不会保持在原位

objective-c - 对 Core Data 数据结果进行分组?

iPhone:如何设置 UIViewController 框架?