An open API service indexing awesome lists of open source software.

https://github.com/krayc425/kcprogressbutton

A download button with progress in masked text color.
https://github.com/krayc425/kcprogressbutton

ios-app ios-ui swift uibutton uibutton-subclass

Last synced: about 1 year ago
JSON representation

A download button with progress in masked text color.

Awesome Lists containing this project

README

          

# KCProgressButton

A download button with progress in masked text color.

# Preview

![](https://github.com/songkuixi/KCProgressButton/blob/master/Preview.gif)

# Usage

Clone this repo and drag `KCProgressButton.swift` into your project.

## Code

__The type of this button MUST BE Custom.__

```
/// Initialize a button and set other properties
let kcButton = KCProgressButton(type: .custom)
kcButton.frame = CGRect(x: 30, y: 30, width: 100, height: 30)
kcButton.backgroundColor = .red

/// Set the initial title
kcButton.setTitle("Download", for: .normal)

/// Set the value formatter
kcButton.valueFormatter = {
return String(format: "Downloaded %d%%", Int($0 * 100))
}

/// Set the title when download is finished
kcButton.finishDownloadTitle = "Done"

/// Set the border width
kcButton.borderWidth = 3.0

self.view.addSubview(kcButton)
```
## StoryBoard / xib

1. Drag a `UIButton` into your view, and set its class to `KCProgressButton`, and set its type to `Custom`.
2. Set other properties like above.

# TODO

* Enhance efficiency to save memory usage.

# License

__GNU General Public License v3.0__