UIImage - 无限滚动背景

时间:2018-03-31 10:19:07

标签: ios swift xcode uiimageview

有谁知道怎么做那样的事情? 我希望能够连续滚动图像。

示例:https://vimeo.com/262632459

2 个答案:

答案 0 :(得分:0)

您需要使用scrollview或scrollview的子类,并在该scrollview中添加您想要滚动的图像。

覆盖scrollview的scrollViewDidScroll委托方法,在这里你可以控制动画(用户可以滚动多少或其他行为)

https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619392-scrollviewdidscroll?language=objc

如果你想要圆形图像(当图像到达最后一次开始时)添加两个相同图像的副本,一个在零位置,在你的实际图像之前,一个在实际图像之后的最后一个位置,并且一旦图像到达最后删除字体图像并添加到最后一个,如果用户向右滚动,则删除最后一个图像并添加到前面。

在scrollview中添加三个imageview,并根据滚动方向继续从前面和后面添加和删除。在scrollViewDidScroll中,您将根据x值的变化

获得scoll的方向

答案 1 :(得分:0)

这是一种简单的方法。

设置

  • 创建要在后台滚动的图像。您需要将其设置为您想要支持的最宽屏幕的最小宽度。
  • 将您创建的图像的两个实例放在常规UIView内。
  • 将视图放在屏幕上,x位置为0。

<强>动画

  • 永久重复视图,将x位置从0移至-width。宽度是图像的宽度(只是一个实例的宽度)。请注意,由于您要向左拉视图,因此必须在方向拉x.

图像现在将向左滑动,直到第二个实例x为0.在此位置,动画将重新开始,将视图的整个图像大小向左移动。由于您使用两个相同的图像,因此此移动不会引人注意。

enter image description here