UIScrollView 取消/停止 setContentOffset:animate:YES 动画

发布于 2024-12-19 15:35:49 字数 126 浏览 0 评论 0原文

我有一个 UIScrollView,我正在使用 setContentOffset:animate:YES 滚动它,但如果设备旋转,我希望能够停止它。这可能吗?或者我将如何编写自己的带有动画的 setContentOffset 实现?谢谢!

I have a UIScrollView that I'm scrolling using setContentOffset:animate:YES but if the device rotates I want to be able to stop it. Is this possible? Or how would I go about writing my own implementation of the setContentOffset with animation? thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花期渐远 2024-12-26 15:35:49

scrollview.contentOffset=scrollView.contentOffset应该将scrollView停止在其最后一个滚动位置。

在 viewController 中的 willAnimateRotationTo..... 中执行此操作

如果您有 UIScrollView 子类,则可以在 setFrame: 中执行此操作,这是假设滚动视图的框架在方向更改时发生变化。

scrollview.contentOffset = scrollView.contentOffset should stop the scrollView at its last scroll position.

Do this in willAnimateRotationTo..... in your viewController

If you have a UIScrollView sub-class you could do it in setFrame: , this is assuming the frame of the scrollview changes upon orientation change.

楠木可依 2024-12-26 15:35:49

尝试使用这个:

[UIView animateWithDuration:.25 animations:^
{
    // replacement for setContentOffset:animated:
    self.scrollView.contentOffset = scrollPositionBeforeKeyboardAdjustments;
}];

如果您在使用键盘时遇到困难,请参阅我的答案
如何移动 UITextField当键盘存在时?

try to use this instead:

[UIView animateWithDuration:.25 animations:^
{
    // replacement for setContentOffset:animated:
    self.scrollView.contentOffset = scrollPositionBeforeKeyboardAdjustments;
}];

if you are struggling with the keyboard, see my answer
How to make a UITextField move up when keyboard is present?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文