Skip to content

SVProgressHUD

A simple progress and status overlay for iOS and tvOS apps, written in Objective-C.

Stars
12.4k
Forks
2.7k
Licence
MIT
Language
Objective-C
Last update
8 months ago
Type
Library

What it is

SVProgressHUD is a library that adds a small on-screen overlay to an iOS or tvOS app to show that a task is running, how far along it is, or whether it succeeded or failed. Developers call a few simple methods such as show, dismiss, or showSuccessWithStatus, and the library handles the display. It is meant for short waits where the user needs to wait before moving on.

  • Show a spinner while a login or save request completes, then dismiss it
  • Display a progress bar with showProgress while a file uploads
  • Show a success or error message with an icon after an action finishes
  • Play haptic feedback on success, warning, or error if the device supports it

Great for

  • iOS developers who need a quick loading indicator for a blocking task
  • Developers maintaining Objective-C codebases that want a drop-in HUD
  • Apps that show brief success or error messages after an action
  • Teams that want to customize the HUD's colors, fonts, and timing app-wide

Not ideal for

  • Background refreshes like pull-to-refresh or infinite scrolling, which the README specifically says not to use it for
  • Developers who need a non-Apple platform, since the README covers only iOS and tvOS
  • Projects that want a fully SwiftUI-native indicator, as the README describes UIKit-style customization and does not mention SwiftUI
Step-by-step guide: how to use SVProgressHUDInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Xcode · Swift tools version 5.3 or newer for Swift Package Manager

    Add to a CocoaPods Podfile, then install

    pod install

    Clone the repository

    git clone https://github.com/SVProgressHUD/SVProgressHUD.git
  2. 2

    Run it

    • Add SVProgressHUD to your project using Swift Package Manager or CocoaPods.
    • Call SVProgressHUD.show() in Swift or [SVProgressHUD show] in Objective-C before a task starts.
    • Run the task on a background queue.
    • Call SVProgressHUD.dismiss() on the main queue when the task finishes.
  3. 3

    Get the most out of it

    • Use showSuccessWithStatus, showInfoWithStatus, or showErrorWithStatus to end a task with a clear message
    • Set custom colors with setForegroundColor and setBackgroundColor, which switch the HUD to a custom style
    • Enable haptic feedback with setHapticsEnabled on supported devices
    • Listen for the four show/dismiss notifications to react when the HUD appears or disappears
    • Use the sample project in /Demo to try the available options

Downloads

Strengths

  • Simple API: show and dismiss calls cover most common uses
  • Supports Swift Package Manager, CocoaPods, Carthage, and manual install
  • Customizable through UI_APPEARANCE_SELECTOR, with light, dark, and automatic styles

Trade-offs

  • The README is truncated and does not list every property, so the API docs in SVProgressHUD.h are needed for details
  • Haptic feedback is only available on iPhone 7 and newer, per the README
  • Written in Objective-C; the README says it works in Swift but adds bridging steps for manual installs

How it compares

ProjectStarsTypeLevelUpdatedBest for
SVProgressHUD (this)12.4kLibrarybeginner8 months agoiOS developers who need a quick loading indicator for a blocking task
MBProgressHUD15.9kLibraryintermediate2.2 years agoiOS developers who need a simple loading indicator
SwifterSwift15.3kLibrarybeginner4 days agoSwift developers building iOS or macOS apps who want common helper methods ready to use
FSCalendar10.6kLibraryintermediate2.2 years agoiOS developers who need a calendar or date-picker view in their app
SDWebImage25.6kLibraryintermediate7 months agoiOS or macOS app developers who need to show remote images in lists or grids
Eureka11.8kLibraryintermediate2.2 years agoiOS developers building form-heavy screens in Swift

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.