【发布时间】:2015-12-24 20:31:31
【问题描述】:
我正在尝试制作一个无限循环图片库应用程序。我通过设置一个在其中插入 UIImageViews 的 UIScrollView 来做到这一点。 我可以加载 4 张图像并在它们之间滑动,但我遇到的问题是如何实现无限滚动,以便在最后一张图像之后,第一个图像出现并且相反。
由于我是 Swift 的新手,我不知道如何处理这个问题,也不知道从哪里开始。我将不胜感激有关如何解决此问题的任何建议、示例或链接。
提前致谢!
这是我的代码的平静:
class FirstViewController: UIViewController {
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
self.scrollView.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height)
let scrollViewWidth: CGFloat = self.scrollView.frame.width
let scrollViewHeight: CGFloat = self.scrollView.frame.height
let numPics: Int = 3
let imgOne = UIImageView()
let imgTwo = UIImageView()
let imgThree = UIImageView()
let imgFour = UIImageView()
var arrPics = [imgOne, imgTwo, imgThree, imgFour]
var arrSlide = ["slide1.png", "slide2.png", "slide3.png", "slide4.png"]
for i in 0...numPics {
arrPics[i] = UIImageView(frame: CGRectMake(0,scrollViewHeight * CGFloat(i),scrollViewWidth, scrollViewHeight))
arrPics[i].image = UIImage(named: arrSlide[i])
self.scrollView.addSubview(arrPics[i])
}
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.width, self.scrollView.frame.height*4)
}
【问题讨论】:
-
这里是教程的链接,它展示了如何在页面之间创建无限循环的最佳方法。你可以在这里找到详细的教程,并从 github 下载一个工作项目:spin.atomicobject.com/2015/12/23/… 注意:我的方法是错误的,因为我使用了 UIViewController,而不是使用 UIPageViewController。
-
感谢您链接我的博文,Igor。关于您的方法,使用
UIViewController是非常可行的:该教程的后续版本最终将其包装在UIViewController中,这样可以在UIPageViewController之上添加其他UI 元素(在这种情况下,自定义页点和下一个按钮)。 spin.atomicobject.com/2016/02/11/move-uipageviewcontroller-dots -
@Jeff 不客气!感谢您和您的精彩帖子,我终于找到了解决问题的方法。继续做得很好,我将来可能需要你的更多帮助:)
标签: ios swift uiscrollview uiimageview infinite-loop