当我尝试使用 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);
}