Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. ButtonProgressBar-iOS

ButtonProgressBar-iOS

MITSwift1.0.1

A UIButton subclass for iOS with animated loading progress and completion animations.

Visit WebsiteGitHubGitHub
575 stars45 forks0 contributors

What is ButtonProgressBar-iOS?

ButtonProgressBar-iOS is a UIButton subclass for iOS that adds animated loading progress and completion animations to buttons. It solves the problem of providing visual feedback for asynchronous tasks like downloads or uploads directly within a button interface. The library supports both determinate and indeterminate loading states with customizable colors and completion images.

Target Audience

iOS developers building apps that require visual feedback for user-initiated actions, such as file transfers, form submissions, or network requests.

Value Proposition

Developers choose ButtonProgressBar-iOS because it’s a lightweight, well-documented drop-in replacement for UIButton that adds rich animations without requiring custom implementations. Its flexibility and ease of integration save development time while enhancing user experience.

Overview

A small and flexible (well documented) UIButton subclass with animated loading progress, and completion animation.

Use Cases

Best For

  • Adding download/upload progress indicators to buttons in iOS apps
  • Creating interactive buttons with visual feedback for network requests
  • Building iOS apps with custom animated UI components
  • Enhancing user experience with smooth loading and completion animations
  • Implementing determinate or indeterminate loading states in Swift projects
  • Replacing standard UIButtons with animated progress buttons without heavy dependencies

Not Ideal For

  • Projects built with SwiftUI that prefer native declarative UI components over UIKit subclasses
  • Apps requiring complex, multi-step animations or custom easing curves beyond linear progress
  • Teams avoiding CocoaPods or preferring dependency-free architectures for iOS development
  • Applications needing built-in error states or accessibility features beyond basic progress feedback

Pros & Cons

Pros

Easy Integration

As a UIButton subclass, it inherits all standard functionality, making it a drop-in replacement that's familiar to iOS developers, as shown in the initialization examples.

Flexible Loading States

Supports both determinate progress bars and indeterminate spinning animations, allowing developers to choose based on task type, detailed in the usage documentation.

Customizable Visuals

Allows setting progress color, background color, and completion image, providing control over appearance without deep code changes, as evidenced by the setProgressColor and setBackgroundColor methods.

Well-Documented Examples

Includes clear API documentation and live previews on Appetize, facilitating quick understanding and implementation, as mentioned in the README's example section.

Cons

No Default Completion Image

Developers must explicitly set a completion image with setCompletionImage, as no default exists, adding an extra step and potential oversight in implementation.

Limited to UIKit

Does not support SwiftUI or other modern iOS frameworks, restricting its use in projects adopting newer UI paradigms, with no mention of compatibility wrappers.

Basic Animation Customization

Offers only linear progress animations and simple spinning indicators, lacking support for custom easing curves or complex animated transitions beyond the provided functions.

Frequently Asked Questions

Quick Stats

Stars575
Forks45
Contributors0
Open Issues1
Last commit4 years ago
CreatedSince 2017

Tags

#uibutton#mobile-ui#ios#progress#loading#loading-animation#ui-button#download#animated#custom-controls#cocoapods#swift#progress-bar#uikit

Built With

i
iOS
C
CocoaPods
S
Swift

Links & Resources

Website

Included in

iOS51.7k
Auto-fetched 7 hours ago

Related Projects

LiquidFloatingActionButtonLiquidFloatingActionButton

Material Design Floating Action Button in liquid state

Stars3,848
Forks462
Last commit3 years ago
DOFavoriteButtonDOFavoriteButton

Cute Animated Button written in Swift.

Stars3,587
Forks290
Last commit3 years ago
VBFPopFlatButtonVBFPopFlatButton

Flat button with 9 different states using POP

Stars3,073
Forks289
Last commit1 year ago
BEMCheckBoxBEMCheckBox

Tasteful Checkbox for iOS. (Check box)

Stars2,612
Forks291
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub