无限 UIScrollView。
一个简单实现的无限滚动效果,可用于 UIScrollView。如果您不想进行子类化,可以使用提供给 UIScrollView 的子类或扩展。
最低iOS要求:8.0
此项目使用 Swift 编写
推荐通过 CocoaPods 软件包管理器安装 IRLDocumentScanner,因为它提供灵活的依赖项管理,并且安装简单。为了获得最佳结果,建议您使用 Git >= 1.8.0 通过 Homebrew 安装的 CocoaPods >= 0.19.1。
IRLInfiniteScrollView 被设计为灵活的即插即用依赖项。
您可以选择使用提供的 IRLInfiniteScrollView 子类或对 UIScrollView 的扩展
@IBOutlet weak var scrollView: IRLInfiniteScrollView!
//MARK: View Life cycle
override func viewDidLoad() {
super.viewDidLoad()
let subviews = someCustomUIViewElements()
scrollView.delegate = self
scrollView.setupInfiniteScroll(subviews: subviews, beforeMargin: 10, afterMargin: 10)
}
//MARK: UIScrollViewDelegate
func scrollViewDidScroll(scrollView: UIScrollView) {
if let infiniteScrollView = scrollView as? IRLInfiniteScrollView {
infiniteScrollView.reoderScrollingStack()
}
}
func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
// Optional move the view
if let infiniteScrollView = scrollView as? IRLInfiniteScrollView {
infiniteScrollView.moveScrollToNearestCard()
}
}
@IBOutlet weak var scrollView: UIScrollView!
var subviews = [UIView]()
//MARK: View Life cycle
override func viewDidLoad() {
super.viewDidLoad()
subviews = someCustomUIViewElements()
scrollView.delegate = self
scrollView.setupInfiniteScroll(subviews: subviews, beforeMargin: 10, afterMargin: 10)
}
//MARK: UIScrollViewDelegate
func scrollViewDidScroll(scrollView: UIScrollView) {
scrollView.reoderScrollingStack(subviews: subviews, subviewsWidth: 750/2, beforeMargin: 10, afterMargin: 10)
}
func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
// Optional move the view
scrollView.moveScrollToNearestCard(750/2, beforeMargin: 10, afterMargin: 10)
}
MIT 许可证 (MIT)
版权所有 © 2016 Denis Martin。
在任何个人或组织获取本软件及其相关文档文件(统称“软件”)副本后,特此免费授予使用该软件的权利,无需限制,包括但不限于使用、复制、修改、合并、发布、分发、转授许可以及/或销售软件副本的权利,并允许将软件提供给他人从事上述行为,但须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或实质部分中。
软件按照“现状”提供,不提供任何形式的担保,无论是明示的、默示的,包括但不限于适销性、适用于特定目的和非侵权的保证。在任何情况下,作者或版权所有者均不对任何主张、损害或其他责任负责,无论其基于合同行为、侵权行为或其他行为,无论其是否源于、源于或与软件或软件的使用或其他方面有关。