0

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

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

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

我还 NSlog 整个方法以捕获错误。特别是在调用该方法之后,我有一个 nslog 确认我/或没有,如果该方法被触发。

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

我在网上找到的关于这个的东西很少。因此,如果您有一些线索,那将是一个很大的帮助。干杯

我有点绝望:/

4

1 回答 1

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]; 

调用将其移动到适当的位置。

于 2012-07-12T17:30:03.783 回答