Ios5 scrollViewWillEndDraggin:WithVelocity:targetContentOffset委托方法错误

Ios5 scrollViewWillEndDraggin:WithVelocity:targetContentOffset委托方法错误,ios5,uiscrollview,xcode4.2,horizontal-scrolling,uiscrollviewdelegate,Ios5,Uiscrollview,Xcode4.2,Horizontal Scrolling,Uiscrollviewdelegate,我正在UIViewController中实现UIScrollView及其委托。它以水平方向滚动 我想要的是在视图被拖动并稳定时设置“磁性” 为此,我正在听取代表的发言,特别是标题中提到的方法。 它返回最终目的地的偏移量。 然后,我使用setContentOffset或setvisiblerect方法使scollview显示与此目的相对应的视图 我还记录了整个方法以捕获bug。特别是在调用该方法之后,如果该方法被触发,我会有一个NSlog来确认我/是否被触发 问题:当我构建和运行时,第一个nslo

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

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

为此,我正在听取代表的发言,特别是标题中提到的方法。 它返回最终目的地的偏移量。 然后,我使用setContentOffset或setvisiblerect方法使scollview显示与此目的相对应的视图

我还记录了整个方法以捕获bug。特别是在调用该方法之后,如果该方法被触发,我会有一个NSlog来确认我/是否被触发

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

我在网上发现了一些关于这个的小东西。所以,如果你有一些线索,这将是一个很大的帮助。 干杯


我有点绝望:/

所以当用户完成拖动时,您希望滚动视图捕捉到一个有效的选择?您应该能够使用

- (void)scrollViewWillBeginDragging:(UIScrollView *)thisScrollView

方法。在没有看到您的代码的情况下,我无法确切地告诉您如何执行此操作,但我建议您在变量中跟踪
thisScrollView.contentOffset.x
,并使用

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

打电话将其移动到适当的位置。

谢谢您的回答,但scrollViewWillDidScroll似乎不存在:/Agh它的scrollViewDidScroll。很抱歉
[UIView beginAnimations: @"anim" context: nil];
[UIView setAnimationBeginsFromCurrentState: YES];
[UIView setAnimationDuration: movementDuration];
self.view.frame = CGRectOffset(self.view.frame, 0, movement);
[UIView commitAnimations];