【发布时间】:2016-03-21 02:57:31
【问题描述】:
如何为水平UIScrollView 制作无限循环视图?
假设我有一个集合var subViews = [1,2,3,4,5,6]。我想用这个集合创建UIScrollView
for subview in subViews {
uiscrollview.addSubview(subview)
}
但我不想用该集合中的所有项目填充我的ScrollView。它应该只有三个项目,总是像 [1,2,3] 或 [2,3,4] 或 [5,6,1]
我找到了this library,但它的 Objective-C。
提前致谢。
更新:
let page = Int(floor((pageScrollView.contentOffset.x * 2.0 + pageWidth) / (pageWidth * 2.0)))
let firstPage = page - 1
let lastPage = page + 1
for index in 0..<subViews.count{
let subview = subViews[index]
if index != firstPage || index != lastPage {
subview.removeFromSuperview()
subpageViewControlls[index] = nil
}
}
【问题讨论】:
-
您可以通过添加桥头来快速使用objective-c库。看到这个:developer.apple.com/library/ios/documentation/Swift/Conceptual/…
-
谢谢,但我已经用 ScrollView Delegate 做了很多事情,所以现在我不能切换到这个 Objective-C 类。我只需要像那个objective-c lib一样的逻辑/算法。
-
如果我是你,我会三思而后行。
UIPageViewController完全符合您的要求,但看起来您已经编写了代码来挂钩其他内容。您可能会发现重构代码以使用库(这可能意味着 Objective-C)或UIPageViewController会更容易,然后只需找到一种不同的方式来完成“使用 ScrollView 委托做很多事情”。跨度> -
请查看此截屏视频link,我认为这不可能与
UIPageViewController(顶部导航)有关 -
我正在阅读您的更新代码。乘以 2.0 是怎么回事?我认为您应该考虑使用 Xcode 的视图调试来准确查看您的视图的去向。
标签: ios swift loops uiscrollview infinite