A customizable iOS button component that animates to show download progress, inspired by Apple's App Store buttons.
GBKUIButtonProgressView is an open-source iOS UI component that creates animated buttons showing download progress, similar to those in Apple's App Store. It transforms a standard button into a progress bar and back, providing visual feedback for asynchronous operations like downloads or processing tasks.
iOS developers building apps that require visual progress indication for downloads, uploads, or other asynchronous operations directly within button interfaces.
It offers a ready-to-use, Apple-inspired UI component with smooth animations and easy customization, saving development time compared to building a similar progress button from scratch.
Inspired by Apple’s download progress buttons in the app store
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Smoothly animates from a standard button to a progress bar, replicating the polished visual feedback seen in Apple's App Store, as demonstrated in the provided GIF.
Supports both programmatic creation and Interface Builder, with clear instructions on adding it to xibs and handling constraints to avoid width issues.
Allows setting of initial, in-progress, and completion text labels, enabling clear state changes based on the code example in the README.
Provides methods to start, update, and reset progress with optional animations and completion handlers, as shown in the download example.
The README's 'Todos' section mentions polishing the API and changing inheritance from UIView to UIControl, indicating the current implementation is not fully refined.
As noted in the Todos, it is not IBDesignable, so it won't render live in Interface Builder, reducing design-time convenience for developers.
Code examples are in Objective-C without Swift equivalents, which may be inconvenient for Swift-only projects and suggests limited modern iOS support.