iphone – UIScrollview setContentOffset与非线性动画?

iphone – UIScrollview setContentOffset与非线性动画?,第1张

概述你好stackoverflow! 当您实际滚动到下一页时,我正在尝试重现滚动视图的平滑动画,并启用分页。 它似乎是UIViewAnimationCurveEaseInOut,但是我需要一个“下一页”按钮,并以编程方式触发滚动。 这里是我的代码: -(void) scrollToPage:(int)page{ UIScrollView *scrollView = contentView; 你好stackoverflow!

当您实际滚动到下一页时,我正在尝试重现滚动视图的平滑动画,并启用分页。
它似乎是UIVIEwAnimationCurveEaseInOut,但是我需要一个“下一页”按钮,并以编程方式触发滚动。

这里是我的代码:

-(voID) scrolltopage:(int)page{    UIScrollVIEw *scrollVIEw = contentVIEw;    CGPoint offset = CGPointMake(scrollVIEw.bounds.size.wIDth * page,scrollVIEw.contentOffset.y);    [scrollVIEw setContentOffset:offset animated: YES];         [self pageControlUpdate];}-(voID) scrollToNextPage {    [self scrolltopage:(pageControl.currentPage + 1)];}

我无法重现UIVIEwAnimationCurveEaseInOut的平滑度,
可以使用setContentOffset或scrollRectToVisible …
它将进入下一个页面,并显示一个丑陋的线性动画

我甚至尝试手动动画:

[UIVIEw animateWithDuration:.5 delay:0 options:UIVIEwAnimationCurveEaseInOut animations:^{    scrollVIEw.contentOffset = offset;} completion:^(BOol finished) {    } ];

我在哪里错了?

非常感谢提前,我被困在这几天…

解决方法 每当你制作自己的动画时,都必须通过NO作为动画:参数:

- (voID)scrolltopage:(int)page{    UIScrollVIEw *scrollVIEw = contentVIEw;    CGPoint offset = CGPointMake(scrollVIEw.bounds.size.wIDth * page,scrollVIEw.contentOffset.y);    [UIVIEw animateWithDuration:.5                          delay:0                        options:UIVIEwAnimationCurveEaseInOut                     animations:^{                         [scrollVIEw setContentOffset:offset animated:NO];                     } completion:nil];    [self pageControlUpdate];}
总结

以上是内存溢出为你收集整理的iphone – UIScrollview setContentOffset与非线性动画?全部内容,希望文章能够帮你解决iphone – UIScrollview setContentOffset与非线性动画?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1087179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存