如何使用 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 在向下滚动并推送新的视图控制器后向上移动内容