iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Xcode iPhone加速计图像大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我是法国人,请原谅我的英语.所以我使用加速度计,但在我的代码中,加速度计适用于视图而不适用于图像.我想要做的是将此加速度计用于图像而不是视图.我怎样才能做到这一点?这是代码: #define CONST_fps 100. #define CONST_map_shift 0.01 #define kFilteringFactor 0.1 UIAccelerationValue rollingX, r
@H_772_7@
我是法国人,请原谅我的英语.所以我使用加速度计,但在我的代码中,加速度计适用于视图而不适用于图像.我想要做的是将此加速度计用于图像而不是视图.我怎样才能做到这一点?这是代码

#define CONST_fps 100.
#define CONST_map_shift 0.01
#define kFilteringFactor 0.1
UIAccelerationValue rollingX,rollingY,rollingZ;

@implementation MapViewRotationViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    // accelerometer setTings
    [[UIAccelerometer sharedAccelerometer] setDelegate:self];
    [[UIAccelerometer sharedAccelerometer] setupdateInterval:(1.0 / CONST_fps)];
}

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
    rollingX = (acceleration.x * kFilteringFactor) + (rollingX * (1.0 - kFilteringFactor));

    rollingY = (acceleration.y * kFilteringFactor) + (rollingY * (1.0 - kFilteringFactor));

    rollingZ = (acceleration.z * kFilteringFactor) + (rollingZ * (1.0 - kFilteringFactor));

    float accelX = acceleration.x - rollingX;
    float accelY = acceleration.y - rollingY;
    float accelZ = acceleration.z - rollingZ;

    static CGFloat ZZ = 0.;
    CGFloat z = (atan2(rollingX,rollingY) + M_PI);

    if (fabsf(ZZ - z) > CONST_map_shift)
    {
        viewToRotate.layer.transform = CATransform3DMakeRotation(ZZ=z,0.,1.);
    }
}

@end

解决方法

您不需要将视图作为回调,而是可以选择任何类以符合协议 UIAccelerometerDelegate.只需在头文件中声明您的类为

@interface MyClass : NSObject <UIAccelerometerDelegate> {
  // my members
}

在MyClass.m中,您必须实现方法

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
  // do what you like
}

但是,如果您不被迫支持iOS 3.x版,则应使用COreMotion API.有关更多信息和样本,请参见Event Handling Guide for iOS / Motion Events.

大佬总结

以上是大佬教程为你收集整理的Xcode iPhone加速计图像全部内容,希望文章能够帮你解决Xcode iPhone加速计图像所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。