Latest 3.0.3
Homepage https://github.com/dekatotoro/PullToRefreshSwift
License MIT
Platforms ios 8.0, requires ARC
Authors

Platform
Language
License
Issues

iOS Simple PullToRefresh Library.

sample

Installation

CocoaPods

pod 'PullToRefreshSwift'

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.

Latest podspec

{
    "name": "PullToRefreshSwift",
    "version": "3.0.3",
    "summary": "iOS Simple PullToRefresh Library.",
    "homepage": "https://github.com/dekatotoro/PullToRefreshSwift",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Yuji Hato": "[email protected]"
    },
    "social_media_url": "https://twitter.com/dekatotoro",
    "platforms": {
        "ios": "8.0"
    },
    "source": {
        "git": "https://github.com/dekatotoro/PullToRefreshSwift.git",
        "tag": "3.0.3"
    },
    "source_files": "Source/**/*.{h,m,swift}",
    "resources": "Source/**/*.{svg,png,xib}",
    "requires_arc": true
}

Pin It on Pinterest

Share This