ICSPullToRefresh 0.6

ICSPullToRefresh 0.6

测试已测试
Lang语言 SwiftSwift
许可证 MIT
Released最新发布2016 年 11 月
SwiftSwift 版本3.0
SPM支持 SPM

iCodesign 维护。



  • iCodesign

ICSPullToRefresh-Swift

ICSPullToRefresh-Swift 是 SVPullToRefresh 的 Swift 版本,为 UIScrollView 提供下拉刷新和无限滚动功能。

安装

嵌入式框架需要至少 iOS 8 的最小部署目标。

手动

您还可以通过源代码直接集成 ICSPullToRefresh。克隆仓库,并将 ICSPullToRefresh.swiftICSInfiniteScrolling.swift 拷贝到您的项目中。

使用方法

下拉刷新

UIScrollView.addPullToRefreshHandler(() -> ())

开始/停止动画

UIScrollView.pullToRefreshView?.startAnimating()
UIScrollView.pullToRefreshView?.stopAnimating()

手动触发

UIScrollView.triggerPullToRefresh()

隐藏下拉刷新

UIScrollView.setShowsPullToRefresh(Bool)

由于 iOS 7 之后,iOS 将 automaticallyAdjustsScrollViewInsets 带到嵌套在 UINavigationControllerUITabBarController 中的 UIScrollView,这会在 viewDidLoadviewDidAppear 之间更改 UIScrollViewcontentInset,因此您必须将 addPullToRefreshHandler 放在或之后 viewDidAppear

示例

tableView.addPullToRefreshHandler {
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { () -> Void in
        // do something in the background
        dispatch_async(dispatch_get_main_queue(), { () -> Void in
            self.tableView.pullToRefreshView?.stopAnimating()
        })
    })
}

无限滚动

UIScrollView.addInfiniteScrollingWithHandler(() -> ())

开始/停止动画

UIScrollView.infiniteScrollingView?.startAnimating()
UIScrollView.infiniteScrollingView?.stopAnimating()

手动触发

UIScrollView.triggerInfiniteScrolling()

隐藏无限滚动

UIScrollView.setShowsInfiniteScrolling(Bool)

由于 iOS 7 之后,iOS 将 automaticallyAdjustsScrollViewInsets 带到嵌套在 UINavigationControllerUITabBarController 中的 UIScrollView,这会在 viewDidLoadviewDidAppear 之间更改 UIScrollViewcontentInset,因此您必须将 addInfiniteScrollingWithHandler 放在或之后 viewDidAppear

示例

tableView.addInfiniteScrollingWithActionHandler {
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { () -> Void in
        // do something in the background
        dispatch_async(dispatch_get_main_queue(), { [unowned self] in
            self.tableView.reloadData()
            self.tableView.infiniteScrollingView?.stopAnimating()
        })
    })
}

鸣谢

感谢 Sam VermetteSVPullToRefresh