gbkui-button-progress-view alternatives and similar libraries
Based on the "Button" category.
Alternatively, view gbkui-button-progress-view alternatives based on common mentions on social networks and blogs.
-
LGButton
A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. -
PMSuperButton
🔥 PMSuperButton is a powerful UIButton coming from the countryside, but with super powers! 😎 -
ButtonProgressBar-iOS
A small and flexible (well documented) UIButton subclass with animated loading progress, and completion animation. -
NFDownloadButton
Revamped Download Button. It's kinda a reverse engineering of Netflix's app download button. -
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. -
FlowBarButtonItem
DISCONTINUED. Bar Button Item that can be moved anywhere in the screen, like Android's stickers button. -
DesignableButton
A Custom UIButton with Centralised Styling and common styles available in Interface Builder -
AnimatablePlayButton
Animated Play and Pause Button written in Swift, using CALayer, CAKeyframeAnimation. -
JSButton
A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code.
CodeRabbit: AI Code Reviews for Developers
* 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 gbkui-button-progress-view or a related project?
README
GBKUIButtonProgressView
Inspired by Apple’s download progress buttons in the app store
Created by @pklada and @miketsprague
Installation
Cocoapods
pod 'GBKUIButtonProgressView', git: 'https://github.com/Guidebook/gbkui-button-progress-view'
Manually add to your project
Just add the files in GBKUIButtonProgressView/
to your project
Usage
- Create the button as a custom view in your xib, or create it programatically
- Make sure that you don't have a constraint for its width (it shrinks)--you might need to set the Intrinsic Content Size to "Placeholder" in your xib to avoid errors
self.downloadButton.initialTitle = @"Download";
self.downloadButton.completeTitle = @"Open";
// Add a target (like a regular button)
[self.downloadButton addTarget:self action:@selector(downloadButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
-(void)downloadButtonPressed:(id)sender {
// Update the button's state based on your downloading item's state
if(!self.isDownloading && !self.isDownloaded) {
[self.downloadButton startProgressing];
[self downloadItem];
} else if(self.isDownloaded) {
[self openItem];
} else {
[self cancelDownloadingItem];
[self.downloadButton setProgress:0 animated:YES withCompletion:^{
[self.downloadButton reset];
}];
}
}
-(void)downloadProgressed:(CGFloat)progress {
// Update the download button's progress when you get a progress update from your item
[self.downloadButton setProgress:progress animated:YES];
}
To change the tint color, simply:
self.downloadButton.tintColor = [UIColor redColor];
See the example for more info.
Todos
- Polish the API a bit
- Allow it to be IBDesignable
- Inherit from UIControl instead of UIView