ProgressButton alternatives and similar libraries
Based on the "Button" category.
Alternatively, view ProgressButton alternatives based on common mentions on social networks and blogs.
-
LiquidFloatingActionButton
Material Design Floating Action Button in liquid state -
DOFavoriteButton
Cute Animated Button written in Swift. -
VBFPopFlatButton
Flat button with 9 different states using POP -
LGButton
A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. -
KCFloatingActionButton
:heart: Floating Action Button for iOS -
TransitionButton
UIButton sublass for loading and transition animation. -
ZFRippleButton
Custom UIButton effect inspired by Google Material Design -
WCLShineButton
This is a UI lib for iOS. Effects like shining. -
TVButton
Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). -
HTPressableButton
Flat design pressable button for iOS developers. -
FloatingButton
Easily customizable floating button menu created with SwiftUI -
PMSuperButton
🔥 PMSuperButton is a powerful UIButton coming from the countryside, but with super powers! 😎 -
gbkui-button-progress-view
Inspired by Apple’s download progress buttons in the app store -
ButtonProgressBar-iOS
A small and flexible (well documented) UIButton subclass with animated loading progress, and completion animation. -
TORoundedButton
A high-performance button control with rounded corners for iOS. -
NFDownloadButton
Revamped Download Button. It's kinda a reverse engineering of Netflix's app download button. -
VCFloatingActionButton
A Floating Action Button just like Google inbox for iOS -
JOEmojiableBtn
Since Facebook introduced reactions in 2016, it became a standard in several applications as a way for users to interact with content. ReactionButton is a control that allows developers to add this functionality to their apps in an easy way. -
EasySocialButton
An easy way to create beautiful social authentication buttons -
FlowBarButtonItem
Bar Button Item that can be moved anywhere in the screen, like Android's stickers button. -
JTFadingInfoView
UIButton-based view with fade in/out animation features -
ExpandableButton
Customizable and easy to use expandable button in Swift. -
DesignableButton
A Custom UIButton with Centralised Styling and common styles available in Interface Builder -
EMEmojiableBtn
Option selector that works similar to Reactions by fb. Objective-c version -
MultiToggleButton
Multiple state tap-to-toggle UIButton (like old camera flash button) -
WYMaterialButton
Interactive and fully animated Material Design button for iOS developers. -
AnimatablePlayButton
Animated Play and Pause Button written in Swift, using CALayer, CAKeyframeAnimation. -
SDevBootstrapButton
Twitter Bootstrap buttons for Swift -
JSButton
A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code.
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of ProgressButton or a related project?
README
ProgressButton

[Gif video](./progress_button.gif)
Check it out
To run the example project, clone the repo, and open the 'Example/Example.xcodeproj' file.
Requirements
This component is written using Swift and Dynamic Frameworks, so iOS 8.x is required. However you may want to manually import the source files into your project, if you need to support 7.x.
Installation
ProgressButton is available through Carthage. To install it, simply add the following line to your Cartfile:
github "sprint84/ProgressButton" ~> 1.1.1
Installing Carthage
To install the carthage
tool on your system, please download and run the Carthage.pkg
file for the latest release, then follow the on-screen instructions.
Alternately, you can use Homebrew and install the carthage
tool on your system simply by running brew update and brew install carthage
.
For further details, please visit the Carthage Github page
Usage
ProgressButton is intended to be used in conjunction with UIToolbar
or UITabBar
. By default, when instantiated this component will try to center itself within its parent view. Although possible, setting the frame of this button manually is not recommended. Using the button in a UIToolbar
is quite simple. First you need to import the module:
import ProgressButton
Then instantiate the view and add it to a UIToolbar
or UITabBar
.
let addButton = ProgressButton()
addButton.addInView(toolbar)
You can normally add actions to ProgressButton
using addTarget:action:forControlEvents
since it is a subclass of UIButton
. However, we added a simpler closure method if you want to keep code inline.
addButton.setAction {
print("Action performed")
}
ProgressButton
displays a progress bar around it's frame. Setting the current progress works as expected:
addButton.setProgress(self.progress, animated: true)
Customization
ProgressButton
supports some layout customizations, and we are working to improve customizable parameters in the future. For example, ProgressButton
supports 3 color levels, that can be triggered by a threshold value.
public var normalProgressColor: UIColor
public var advisoryProgressColor: UIColor
public var warningProgressColor: UIColor
Users can define when those colors will be triggered, in a range 0..1. If you set values above 1.0 for these threshold values, the progress bar will always display the normalProgressColor
:
public var advisoryProgressThreshold: Double
public var warningProgressThreshold: Double
You can also change the position where the progress arc starts. The default value for the initial angle is 90° or π/2. That means the arc will begin drawing from the bottom of the circunference.
And you can change an offset angle that will be calculated from the initial angle in both directions (clockwise and counter-clockwise), creating an empty section on the initial angle position. These values must be set in Radians.
/// Starting point, in radian angles, where the progress arc will begin. Default: π/2
public var initialAngle: Double
/// Arc offset, in radian angles, from `initialAngle` where the progress arc will start drawing. Default: π/6
public var arcOffset: Double
[Angle description](./angle_description.png?raw=true)
Author
Reefactor, Inc., [email protected]
License
ProgressButton is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the ProgressButton README section above
are relevant to that project's source code only.