私は加速度計のデータを取得するためにCMMotionManager
を使用しています。事は、加速度計データが定期的に印刷され、ビュー内でインスタンス変数が変更されますが、ビューが再描画されないことです。私はhv
がゼロでないこと、そしてすべてがフックされていることを確認しました。ブロック内でsetNeedsDisplayを呼び出す際に問題はありますか?setNeedsブロック内で表示が機能しない
-(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];
}];
}
ブロックがブロックされています。 :) – Pascal
それは問題を解決した – jorurmol
ソリューションに感謝します。私が部外者であるので、ここで知識豊かな人を持つことは本当に良いことです。 –