拖动时如何让 UIScrollView 离开屏幕

Posted

技术标签:

【中文标题】拖动时如何让 UIScrollView 离开屏幕【英文标题】:How to have UIScrollView animate off screen when dragged 【发布时间】:2014-06-26 05:52:57 【问题描述】:

所以我有一个UIViewController,里面有一个UIScrollView,它有一些UI 元素。

我希望用户能够上下拖动UIScrollView,但是当它拖动超过某个阈值时,我希望它在屏幕上显示动画。不过,它需要有一些弹性。我尝试使用-(void)scrollViewDidScroll:,但似乎无法正确使用。有什么想法吗?

【问题讨论】:

【参考方案1】:

在滚动视图委托方法-(void)scrollViewDidScroll:(UIScrollView *)scrollView; 中观察scrollView.contentOffset.y 并在到达预期的y 位置时触发动画。

例如:

CGFloat yTranslation = -200.f; // Value you want to shift

[UIView animateWithDuration:0.35 animations:^
     scrollView.transform = CGAffineTransformMakeTranslation(0, yTranslation);
 completion:^(BOOL finished) 
     // code after completion
];

【讨论】:

以上是关于拖动时如何让 UIScrollView 离开屏幕的主要内容,如果未能解决你的问题,请参考以下文章

拖动包含 UIScrollView 的 UIView

禁用 UIScrollView 手势

如何使用 uiscrollview 滚动 uiwebview

可以离开屏幕的可拖动叠加层?

如何在 UIScrollView 中将 UIToolbar 固定到屏幕底部

uiscrollview 水平拉动以根据拖动的距离选择对象