scrollViewWillEndDraggin:WithVelocity:targetContentOffset委托方法错误
问题描述:
我在UIViewController中实现了UIScrollView及其委托。它以水平方式滚动。scrollViewWillEndDraggin:WithVelocity:targetContentOffset委托方法错误
我想要的是当视图被拖动并稳定时设置“磁性”。
要做到这一点,我正在倾听委托人,特别是标题中提到的方法。 它向我返回最终目的地的偏移量。 然后我让scollview使用setContentOffset或setvisiblerect方法显示与此destionation相对应的视图。
我也NSlog整个方法来捕捉错误。特别是在调用方法后,我有一个nslog确认我/否,如果方法被触发。
问题:当我构建&运行时,第一个nslog通过拖动触发平均3次。 所以整个效果看起来很奇怪,我不知道它是否有效。
我在网上发现了很少有关于此的东西。所以如果你有一些线索,这将是一个很大的帮助。 欢呼
我有点绝望:/
答
所以,你想,当用户完成拖动滚动视图捕捉到一个有效的选择?你应该使用
- (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];
动议它到了适当的位置。
感谢您的回答,但scrollViewWillDidScroll似乎不存在:/ – louisD 2012-07-13 07:53:21
Agh其scrollViewDidScroll。抱歉! – jacerate 2012-07-13 13:03:34