1

当我尝试使用 CoreMotion 移动 UIScrollView 的内容时遇到问题。

问题是,我有一个大约 5000 像素的背景,在一个容器内,它位于我的 scrollView 内(是一个横向应用程序);我已经设置了self.scrollView.bounces = FALSE;,我的运动值是attitude.pitch * 10.0;,当我将内容移动到里面并且它到达边缘时,pointZero或者self.scrollView.contentSize.width它不遵守边界并继续在白屏中移动,就像它没有限制一样。

所以,我设置了一个验证(下面的代码),但是当它到达pointZero它应该停止但仍然给我一个白色的小边框。我设置了一个 NSLog ,我看到它contentOffset仍在继续x =-14,就像反弹是活跃的一样。音高值控制,因为当音高值为零时,内容保持在pointZero,当我提高音高值时,我会一直持续到 -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);
 }
4

0 回答 0