0

我在UIViewController中实现了UIScrollView及其委托。它以水平方式滚动。scrollViewWillEndDraggin:WithVelocity:targetContentOffset委托方法错误

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

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

我也NSlog整个方法来捕捉错误。特别是在调用方法后,我有一个nslog确认我/否,如果方法被触发。

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

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

我有点绝望:/

回答

1

所以,你想,当用户完成拖动滚动视图捕捉到一个有效的选择?你应该使用

- (void)scrollViewWillBeginDragging:(UIScrollView *)thisScrollView 

- (void)scrollViewWillDidScroll:(UIScrollView *)thisScrollView 

方法能够实现这一点。没有看到你的代码,我不能确切地告诉你如何去了解这一点,但我会建议保持在一个变量轨道​​的,并做一些算术移动滚动视图与

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

动议它到了适当的位置。

+0

感谢您的回答,但scrollViewWillDidScroll似乎不存在:/ – louisD 2012-07-13 07:53:21

+0

Agh其scrollViewDidScroll。抱歉! – jacerate 2012-07-13 13:03:34