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 statewaiting
- between start request and actual startdownloading
- when download is starteddownloaded
- 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
- Customizable properties are :
mainTintColor
- main color of buttondownloadedButtonImage
- downloaded button image - system images preferredidleButtonImage
- 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
License
MUDownloadButton is licensed under the MIT license. Check the LICENSE file for details.