如何以编程方式滚动UIScrollView?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

我有一个UIScrollView有几种观点。当用户按下手指时,视图会根据手指的方向向右或向左滚动。基本上,我的代码工作方式类似于iPhone的照片应用程序。现在,是否有一种方法可以编程地做同样的事情,这样我就可以得到一个幻灯片,它通过单击按钮和每个滚动之间的可配置的暂停来独立运行吗?

你是怎么做幻灯片的UIScrollView?

提问于
用户回答回答于

您可以在目标C中使用以下语句之一滚动到滚动视图中的某个点

[scrollView scrollRectToVisible:CGRectMake(x, y, 1, 1) animated:YES];
// or
[scrollView setContentOffset:CGPointMake(x, y) animated:YES];

或者Swift

scrollView.scrollRectToVisible(CGRect(x: x, y: y, width: 1, height: 1), animated: true)
// or
scrollView.setContentOffset(CGPoint(x: x, y: y), animated: true)

用户回答回答于

如果希望控制动画的持续时间和样式,可以:

[UIView animateWithDuration:2.0f delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
    scrollView.contentOffset = CGPointMake(x, y);
} completion:NULL];

扫码关注云+社区