POSInfiniteScroll 1.0.8

POSInfiniteScroll 1.0.8

Ivan 维护。



  • 作者
  • Ivan

POSInfiniteScroll

示例

要运行示例项目,首先克隆仓库,然后从演示目录运行 pod install

要求

  • Swift 5
  • iOS 10 或更高版本

安装

CocoaPods

POSInfiniteScroll 可通过 CocoaPods 获得。安装它,只需在 Podfile 中添加以下行

pod 'POSInfiniteScroll'

Carthage

将 POSInfiniteScroll 添加到您的 Cartfile

github "postolaki/posinfinitescroll"

然后运行

carthage update or carthage update --use-xcframeworks

Swift 包管理器

Swift 包管理器是一个用于自动化 Swift 代码分发工具,它已集成到 swift 编译器。

一旦您设置了 Swift 包,将 POSInfiniteScroll 作为依赖项添加就像将其添加到 Package.swift 文件的 dependencies 值一样简单。

dependencies: [
    .package(url: "https://github.com/postolaki/POSInfiniteScroll.git")
]
import POSInfiniteScroll

无限滚动手势

// setup infinite scroll
tableView.addInfiniteScroll { tableView in
    // finish infinite scroll animation
    tableView.finishInfiniteScroll()
}

collectionView.addInfiniteScroll { collectionView in
    // finish infinite scroll animation
	collectionView.reloadDataAndFinishInfIniteScroll()
}

tableView.shouldRemoveInfiniteScrollHandler = { _ in
    return condition to remove infinite scroll
}

公共方法和属性

func addInfiniteScroll(_ completion: @escaping (UITableView) -> Void)
func addInfiniteScroll(_ completion: @escaping (UICollectionView) -> Void)
func finishInfiniteScroll(_ completion: (() -> Void)? = nil)
func removeInfiniteScroll()

var infiniteScrollTriggerOffset: CGFloat
var shouldRemoveInfiniteScrollHandler: () -> Bool

自定义指示器

自定义指示器必须符合协议 SpinnerViewProtocol

protocol SpinnerViewProtocol: UIView {
    func startAnimating()
    func stopAnimating()
}

var infiniteScrollSpinnerView: SpinnerViewProtocol?

下拉刷新

// setup pull to refresh
tableView.addPullToRefresh { tableView in
    // finish pull to refresh animation
	tableView.finishPullToRefresh()
}

collectionView.addPullToRefresh { collectionView in
    // finish pull to refresh animation
    collectionView.reloadDataAndFinishPullToRefresh()
}

公共方法和属性

func beginPullToRefresh(_ completion: (() -> Void)? = nil)
func addPullToRefresh(_ completion: @escaping (UITableView) -> Void)
func addPullToRefresh(_ completion: @escaping (UICollectionView) -> Void)
func finishPullToRefresh(_ completion: (() -> Void)? = nil)
func removePullToRefresh()

var pullToRefreshTriggerOffset: CGFloat

自定义指示器

自定义指示器必须符合协议 PullToRefreshSpinnerViewProtocol

protocol PullToRefreshSpinnerViewProtocol: SpinnerViewProtocol {
    var progress: CGFloat { get set }
    var isAnimating: Bool { get }
}

var pullToRefreshSpinnerView: PullToRefreshSpinnerViewProtocol?

作者

[email protected]

授权

POSInfiniteScroll 在 MIT 许可证下可用。