CoreMotion を使用して UIScrollView のコンテンツを移動しようとすると、問題が発生します。
問題は、スクロールビュー内にあるコンテナ内に約5000pxの背景があることです(ランドスケープアプリです)。私はすでに を設定してself.scrollView.bounces = FALSE;
います。モーションの値は でattitude.pitch * 10.0;
あり、コンテンツを内側に移動して の端に到達した場合、pointZero
またはself.scrollView.contentSize.width
の境界を尊重せず、制限がないように白い画面で動き続けます。
そこで、検証を設定しました (以下のコード) pointZero
。NSLog を設定したところ、バウンスがアクティブだったように、contentOffset
まだ まで続いていることがわかりました。x =-14
ピッチ値が 0 の場合、コンテンツは にとどまるため、ピッチ値はそれを制御していますpointZero
。ピッチ ir の値を上げると、-14 まで進みます。
それは私の検証に問題があると思います。誰かが助けてくれれば、本当に感謝します!!
self.accel = attitude.pitch *10.0;
//"pointZERO"----------------
if (self.gameArea.contentOffset.x <= self.gameArea.frame.origin.x) {
NSLog(@"%2.f",self.gameArea.contentOffset.x);
self.gameArea.contentOffset = CGPointZero;
} else {
self.gameArea.contentOffset = CGPointMake(self.gameArea.contentOffset.x + self.accel,0.0);
}
//"END OF SCREEN"------------------------
if (self.gameArea.contentOffset.x + self.gameArea.frame.size.width >= self.gameArea.contentSize.width) {
NSLog(@"%2.f",self.gameArea.contentOffset.x);
self.gameArea.contentOffset = CGPointMake(self.gameArea.contentSize.width - self.gameArea.frame.size.width ,0.0);
} else {
self.gameArea.contentOffset = CGPointMake(self.gameArea.contentOffset.x + self.accel,0.0);
}