我在UIViewController中实现了UIScrollView及其委托。它以水平方式滚动。
我想要的是在拖动视图并设置稳定时设置“磁力”。
要做到这一点,我正在听代表,特别是标题中提到的方法。 它返回最终目的地的偏移量。 然后我让scollview使用setContentOffset或setvisiblerect方法显示与此destionation对应的视图。
我也用NSlog整个方法来捕获bug。特别是在调用方法之后我有一个确认了我/不用的nslog,如果方法被触发了。
问题:当我构建和运行时,第一个nslog通过拖动平均触发3次。 所以整个效果看起来很奇怪,我无法弄清楚它是否有效。
我在网上发现了很少的东西。如果你有一些线索,那将是一个很大的帮助。 欢呼声
我有点绝望:/
答案 0 :(得分:1)
因此,当用户完成拖动时,您希望滚动视图捕捉到有效选择吗?您应该能够使用
实现这一点- (void)scrollViewWillBeginDragging:(UIScrollView *)thisScrollView
和
- (void)scrollViewWillDidScroll:(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];
致电将其移至适当的位置。