Progressive download button inspired by Appstore download button for iOS 13.0+

MUDownloadButton is a Progressive Download button written in pure swift and inspired by AppStore download button . feel free to contribute and pull requests

Requirements

  • iOS 13.0+
  • Swift 5.0+

Usage

Code

To use MUDownloadButton create an instance and add it to your own view as a subview:

  let downloadButton = MUDownloadButton()
  downloadButton.frame = CGRect(origin: origin, size: size)
  view.addSubview(downloadButton)

The button can have 4 different states:

  • idle – before downloading state
  • waiting – between start request and actual start
  • downloading – when download is started
  • downloaded – when download finished

The state of the button can be changed through its state property.

Delegate

You can use the MUDownloadButtonDelegate to monitor taps on button and state changes . The progress of download can be changed through itss progress property.

Customisation

  1. Customizable properties are :
  • mainTintColor – main color of button
  • downloadedButtonImage – downloaded button image – system images preferred
  • idleButtonImage – idle button image – system images preferred

Demo

To run the example project, clone the repo, and run the Demo directory

Installation

Currently only supports SPM and iOS 13+

Swift Package Manager

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler.

Once you have your Swift package set up, adding AHDownloadButton as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: https://github.com/mahadshahib/MUDownloadButton.git, .upToNextMajor(from: "0.9.9"))
]

Author

Mohammad ShahibZadeh

License

MUDownloadButton is licensed under the MIT license. Check the LICENSE file for details.

GitHub

View Github