CMMotionManager
加速度計のデータを取得するために使用しています。重要なのは、加速度計データが定期的に印刷され、インスタンス変数がビューで変更されますが、ビューは再描画されないということです。私はそれhv
がゼロではなく、すべてがフックされていることを確認しました。ブロック内でsetNeedsDisplayを呼び出すことに問題はありますか?
-(void) viewDidAppear:(BOOL) animated
{
[super viewDidAppear: animated];
[motionManager startAccelerometerUpdatesToQueue:motionQueue withHandler:
^(CMAccelerometerData *accelerometerData, NSError *error)
{
NSLog(@"%@",accelerometerData);
HypnosisView *hv = (HypnosisView *) [self view];
hv.xShift = 10.0 * accelerometerData.acceleration.x;
hv.yShift = -10.0 * accelerometerData.acceleration.y;
[hv setNeedsDisplay];
}];
}