PullToRefreshSwift 3.0.3

PullToRefreshSwift 3.0.3

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Oct 2016
SPMSupports SPM

Maintained by dekatotoro.



PullToRefreshSwift

iOS Simple PullToRefresh Library.

sample

Installation

Manually

Add the following files to your project. pulltorefresharrow.png PullToRefreshView.swift PullToRefreshConst.swift UIScrollViewExtension.swift

Usage

Setup

In your UIViewController Including UITableView, UICollectionView, UIScrollView:

  override func viewDidLoad() {
        self.tableView.addPullToRefresh({ [weak self] in
            // refresh code

            self?.tableView.reloadData()
            self?.tableView.stopPullToRefresh()
        })
  }

You can use PullToRefreshOption class at addPullToRefresh func option parameter:

  override func viewDidLoad() {
       let options = PullToRefreshOption()
        options.backgroundColor = UIColor.blueColor()
        options.indicatorColor = UIColor.whiteColor()

        self.tableView.addPullToRefresh(options: options, { [weak self] in
            // some code

            self?.tableView.reloadData()
            self?.tableView.stopPullToRefresh()
        })

  }

If you want to fixed pulltoRefreshView, please implement scrollViewDidScroll.

  func scrollViewDidScroll(scrollView: UIScrollView) {
    self.tableView.fixedPullToRefreshViewForDidScroll()
  }  

If you want to use the custom const, please change the PullToRefreshConst class.

struct PullToRefreshConst {
    static let tag = 810
    static let alpha = true
    static let height: CGFloat = 80
    static let imageName: String = "pulltorefresharrow.png"
    static let animationDuration: Double = 0.4
    static let fixedTop = true // PullToRefreshView fixed Top
}

If you want to use the custom option, please change the PullToRefreshOption class. You can use this class at addPullToRefresh func option parameter.

class PullToRefreshOption {
    var backgroundColor = UIColor.clearColor()
    var indicatorColor = UIColor.grayColor()
    var autoStopTime: Double = 0.7 // 0 is not auto stop
    var fixedSectionHeader = false  // Update the content inset for fixed section headers
}

Requirements

Requires Swift3.0 and iOS 8.0 and ARC.
If you are developing in the Swift1.1 ~ 2.3, please use branch of Swift1.1 ~ Swift2.3.

Features

  • Highly customizable
  • Complete example
  • Refactoring

Contributing

Forks, patches and other feedback are welcome.

Creator

Yuji Hato Blog

License

PullToRefreshSwift is available under the MIT license. See the LICENSE file for more info.