Skip to content

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

Notifications You must be signed in to change notification settings

mahadshahib/MUDownloadButton

Repository files navigation

SPM compatible License

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.

About

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

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages