5
나는 프랑스어로 영어로 실례합니다. 그래서 저는 가속도계를 사용합니다. 그러나 코드에서 가속도계는 이미지가 아닌보기를 위해 작동합니다. 내가하고 싶은 것은이 가속도계를 뷰 대신 이미지로 사용하는 것입니다. 어떻게해야합니까? 당신은 프로토콜 UIAccelerometerDelegate을 준수하는 대신에 당신이 어떤 클래스를 선택할 수 있습니다 콜백으로보기를 할 필요가 없습니다Xcode iPhone 가속도계 이미지
#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., 0., 1.);
}
}
@end
나는 당신이 여기서 묻고있는 것을 이해하지 못합니다. 위 코드를 사용하여보기를 회전 할 수 있다면 왜 UIImageView가 아닌가? –