如何使用 uiscrollview 向上滚动?

Posted

技术标签:

【中文标题】如何使用 uiscrollview 向上滚动?【英文标题】:How to scroll back up with a uiscrollview? 【发布时间】:2014-01-02 21:30:24 【问题描述】:

基本上我有一个uiscrollview。当我按下某个按钮时,uiscrollview 会向下滚动。但是,一旦设置了content offset,它将不允许我将 uiscrollview 滚动回 to。 例如... 如果我将内容设置为 100 和动画:是的。滚动视图将滚动到该位置并允许我继续向下滚动页面,但是当尝试向上滚动时,您向上拉并看到视图的上部分,但它随后会弹回。

这是我的代码:

首先当按钮被按下时,我调用了 void 函数:

[self downExecute:scroller];

其次,我运行 void 语句,它设置了我的内容偏移...

- (void)downExecute:(id)sender 

    NSLog(@"scroll down");

    CGFloat currentOffset = scroller.contentOffset.y;

    CGFloat newOffset;

    newOffset = currentOffset + 100;

    [UIScrollView animateWithDuration:0.3 animations:^(void) 


        [scroller setContentOffset:CGPointMake(0.0,newOffset)];

    completion:^(BOOL finished) 



    ];



任何帮助将不胜感激...

【问题讨论】:

【参考方案1】:

如果您的意图是在重新定位内容后允许正常滚动,您可以使用 scrollRectToVisible:animated: 而不是更改内容偏移量。

【讨论】:

【参考方案2】:

尝试这样的方法来允许滚动:

scroller.alwaysBounceVertical = YES;

并管理滚动的持续时间使用这个:

scroller.viewForBaselineLayout.layer.speed = 1.0f;  // 1.0f is default
[scroller setContentOffset:(some CGPoint) animated:YES];

【讨论】:

以上是关于如何使用 uiscrollview 向上滚动?的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollview 在向下滚动并推送新的视图控制器后向上移动内容

键盘出现时如何滚动 UIScrollView?

UIScrollView 不会一直向上/向下滚动

如何将滚动动画从一个uiscrollview“传输”到另一个

UIScrollView 检测滚动

如何连接 UIPageControl 使其与其他控件一起向上滚动?