scrollViewWillEndDraggin:WithVelocity:targetContentOffset委托方法错误

时间:2012-07-12 14:38:55

标签: ios5 uiscrollview xcode4.2 horizontal-scrolling uiscrollviewdelegate

我在UIViewController中实现了UIScrollView及其委托。它以水平方式滚动。

我想要的是在拖动视图并设置稳定时设置“磁力”。

要做到这一点,我正在听代表,特别是标题中提到的方法。 它返回最终目的地的偏移量。 然后我让scollview使用setContentOffset或setvisiblerect方法显示与此destionation对应的视图。

我也用NSlog整个方法来捕获bug。特别是在调用方法之后我有一个确认了我/不用的nslog,如果方法被触发了。

问题:当我构建和运行时,第一个nslog通过拖动平均触发3次。 所以整个效果看起来很奇怪,我无法弄清楚它是否有效。

我在网上发现了很少的东西。如果你有一些线索,那将是一个很大的帮助。 欢呼声

我有点绝望:/

1 个答案:

答案 0 :(得分:1)

因此,当用户完成拖动时,您希望滚动视图捕捉到有效选择吗?您应该能够使用

实现这一点
- (void)scrollViewWillBeginDragging:(UIScrollView *)thisScrollView

- (void)scrollViewWillDidScroll:(UIScrollView *)thisScrollView

方法。在没有看到你的代码的情况下,我无法确切地告诉你如何解决这个问题,但我建议在变量中跟踪thisScrollView.contentOffset.x,并做一些算术来移动带有

的scrollView
[UIView beginAnimations: @"anim" context: nil];
[UIView setAnimationBeginsFromCurrentState: YES];
[UIView setAnimationDuration: movementDuration];
self.view.frame = CGRectOffset(self.view.frame, 0, movement);
[UIView commitAnimations]; 

致电将其移至适当的位置。