Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. PopupView

PopupView

MITSwift

A SwiftUI library for displaying customizable toasts, popups, alerts, and sheets with multiple presentation modes.

GitHubGitHub
4.0k stars310 forks0 contributors

What is PopupView?

PopupView is a SwiftUI library for creating and managing transient UI components such as toasts, popups, alerts, and sheets. It solves the problem of implementing consistent, animated overlays across iOS, macOS, tvOS, and watchOS apps with a declarative and highly customizable API.

Target Audience

SwiftUI developers building iOS, macOS, tvOS, or watchOS applications who need to display temporary notifications, alerts, or modal content with polished animations and interactions.

Value Proposition

Developers choose PopupView for its extensive customization options, multiple presentation modes (overlay, sheet, window), and seamless integration with SwiftUI's state management, making it a robust alternative to building custom overlay solutions from scratch.

Overview

Toasts and popups library written with SwiftUI

Use Cases

Best For

  • Displaying toast notifications in SwiftUI apps
  • Creating custom alert dialogs with unique animations
  • Implementing draggable bottom sheets for iOS
  • Showing temporary floating messages or banners
  • Building onboarding flows with animated popups
  • Adding interactive tooltips or hints in user interfaces

Not Ideal For

  • Apps targeting iOS 14 or earlier, as PopupView requires iOS 15.0+
  • Projects deeply integrated with UIKit where introducing SwiftUI popups could conflict with existing navigation systems
  • Teams seeking pre-styled, out-of-the-box popup components without any SwiftUI view customization

Pros & Cons

Pros

Versatile Popup Types

Supports default, toast, floater, and scrollable sheet types with distinct behaviors, enabling everything from simple notifications to interactive draggable cards.

Flexible Display Modes

Offers three presentation options—overlay, sheet, and UIWindow-based—each with specific advantages for stacking, tapping through backgrounds, or showing over navigation bars, as detailed in the comparison table.

Rich Animation Control

Includes slide, scale, and zoom animations with separate appear and disappear directions, allowing for polished, custom transitions beyond basic fades.

Declarative SwiftUI API

Uses a modifier with a customizable closure for intuitive setup, making parameter ordering flexible and integration with SwiftUI's state management seamless in most modes.

Cons

UIWindow State Quirks

In UIWindow display mode, SwiftUI's @State doesn't update properly, forcing developers to use ObservableObjects or @Bindings instead, as highlighted in the README's workaround example.

Frequent Breaking Changes

Major versions like 3 and 4 introduced breaking API changes, such as renaming enums and deprecating parameters, which can disrupt maintenance and require code updates.

Limited Package Manager Support

Cocoapods is deprecated after version 4.0.0, leaving Swift Package Manager as the primary option, which may not fit all project workflows or legacy setups.

Frequently Asked Questions

Quick Stats

Stars4,034
Forks310
Contributors0
Open Issues1
Last commit2 days ago
CreatedSince 2020

Tags

#ios#swiftui-framework#popup#customizable#ui-library#declarative-ui#alert#toast#swiftui#swiftui-components#overlay

Built With

S
SwiftUI
S
Swift

Included in

iOS51.7kSwift26.0k
Auto-fetched 1 day ago

Related Projects

SwiftMessagesSwiftMessages

A very flexible message bar for UIKit and SwiftUI.

Stars7,557
Forks766
Last commit2 months ago
SwiftEntryKitSwiftEntryKit

SwiftEntryKit is a presentation library for iOS. It can be used to easily display overlays within your iOS apps.

Stars6,757
Forks622
Last commit1 year ago
Alerts & PickersAlerts & Pickers

Advanced usage of UIAlertController and pickers based on it: Telegram, Contacts, Location, PhotoLibrary, Country, Phone Code, Currency, Date...

Stars5,763
Forks710
Last commit2 years ago
SCLAlertView-SwiftSCLAlertView-Swift

Beautiful animated Alert View. Written in Swift

Stars5,321
Forks753
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