Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. YLProgressBar

YLProgressBar

MITObjective-C

A highly customizable animated progress bar replacement for UIProgressView, built with pure Core Graphics.

Visit WebsiteGitHubGitHub
1.3k stars182 forks0 contributors

What is YLProgressBar?

YLProgressBar is an open-source iOS UI component that replaces Apple's standard UIProgressView with a highly customizable animated progress bar. It solves the limitation of UIProgressView's basic styling by offering extensive visual customization options including gradients, animated stripes, and multiple bar types, all rendered efficiently with Core Graphics.

Target Audience

iOS developers building applications that require visually distinctive progress indicators beyond Apple's default UIProgressView capabilities, particularly those needing brand-aligned or highly animated progress feedback.

Value Proposition

Developers choose YLProgressBar because it provides pixel-perfect customization without performance overhead, supports complex animations and gradients, integrates seamlessly with UIAppearance for app-wide consistency, and requires no image assets while being fully compatible with Interface Builder and programmatic layout.

Overview

UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics

Use Cases

Best For

  • Creating branded progress indicators that match app design systems
  • Implementing animated loading sequences with visual feedback
  • Building data visualization components showing progress with gradients
  • Replacing standard UIProgressView with more polished alternatives
  • Adding progress indicators with customizable stripe animations
  • Developing iOS apps requiring progress bars with text overlays

Not Ideal For

  • SwiftUI-only applications, as YLProgressBar is built on UIKit and lacks native SwiftUI support.
  • Cross-platform projects targeting macOS or tvOS, since it's designed for iOS with CocoaPods platform :ios.
  • Simple apps needing basic progress indicators without customization overhead, where Apple's UIProgressView suffices.
  • Teams preferring Swift Package Manager over CocoaPods, as installation is primarily via CocoaPods with a manual alternative.

Pros & Cons

Pros

Extensive Customization

Offers control over colors, stripes, gradients, and text indicators, as shown in the rainbow colors example with progressStretch property enabling gradient fitting.

Animated Stripes

Supports configurable stripe orientation and direction for smooth animations, demonstrated in the vertical stripes with left direction example in the README.

UIAppearance Integration

Allows app-wide styling consistency using UIAppearance protocol, enabling uniform progress bar settings across the application with simple configuration.

Lightweight Core Graphics

Implemented purely with Core Graphics without image assets, ensuring crisp rendering at any size and reducing resource overhead, as emphasized in the README.

Cons

UIKit Dependency

Limited to UIKit frameworks, making it incompatible with SwiftUI or Apple's newer UI frameworks without additional bridging code, which isn't addressed in the documentation.

Objective-C Legacy

Code examples and implementation are in Objective-C, which might require extra effort for Swift-only projects or developers unfamiliar with Obj-C, and Swift support isn't explicitly mentioned.

No Indeterminate Progress

Lacks built-in support for indeterminate progress modes, focusing only on determinate progress, which limits use cases for loading animations without custom work.

Frequently Asked Questions

Quick Stats

Stars1,267
Forks182
Contributors0
Open Issues13
Last commit7 years ago
CreatedSince 2012

Tags

#animation#objective-c#ui-customization#custom-control#cocoapods#progress-bar#ios-ui#uikit#core-graphics

Built With

C
Core Graphics
U
UIKit
O
Objective-C

Links & Resources

Website

Included in

iOS51.7k
Auto-fetched 12 hours ago

Related Projects

SkeletonViewSkeletonView

☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting

Stars12,867
Forks1,125
Last commit21 days ago
SVProgressHUDSVProgressHUD

A clean and lightweight progress HUD for your iOS and tvOS app.

Stars12,463
Forks2,665
Last commit2 months ago
NVActivityIndicatorViewNVActivityIndicatorView

A collection of awesome loading animations

Stars10,714
Forks1,156
Last commit1 month ago
M13ProgressSuiteM13ProgressSuite

A suite containing many tools to display progress information on iOS.

Stars3,910
Forks522
Last commit4 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