Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. STPopup

STPopup

MITObjective-C1.8.7

A customizable iOS popup controller that mimics UINavigationController's push/pop interface for modal presentations.

GitHubGitHub
2.6k stars344 forks0 contributors

What is STPopup?

STPopup is an iOS library that provides STPopupController, a popup-style modal presentation controller. It mimics the push/pop navigation stack of UINavigationController, allowing developers to build multi-step modal flows with familiar navigation patterns. It solves the need for complex modal navigation beyond simple single-view presentations.

Target Audience

iOS developers building applications that require multi-step modal interfaces, such as wizards, forms, or settings panels presented in a popup style.

Value Proposition

Developers choose STPopup for its familiar UINavigationController-like API, support for custom transitions and styles, and built-in features like keyboard handling and drag-to-dismiss, which streamline the creation of advanced modal interfaces.

Overview

STPopup provides STPopupController, which works just like UINavigationController in popup style, for both iPhone and iPad. It's written in Objective-C and compatible with Swift.

Use Cases

Best For

  • Building multi-step modal wizards in iOS apps
  • Creating bottom sheet interfaces with navigation
  • Implementing custom popup transitions and animations
  • Presenting forms that require keyboard-aware layout adjustments
  • Adding drag-to-dismiss functionality to modal views
  • Developing popup-based navigation flows for iPad and iPhone

Not Ideal For

  • Projects exclusively using SwiftUI without UIKit integration
  • Apps targeting iOS 13+ that prefer native sheet presentations over custom libraries
  • Developers seeking zero-configuration modal solutions with automatic sizing
  • Teams avoiding Objective-C dependencies in modern Swift codebases

Pros & Cons

Pros

Familiar Navigation API

Mimics UINavigationController's push/pop methods, allowing developers to build multi-step modal flows with minimal learning curve, as shown in the README examples.

Built-in Usability Features

Includes automatic keyboard-aware repositioning and drag-to-dismiss functionality out-of-the-box, enhancing user experience without extra coding effort.

Flexible Presentation Styles

Supports both form sheet and bottom sheet styles, adaptable for various UI contexts on iPhone and iPad, with easy configuration via the style property.

Extensive Customization

Offers custom transitions through STPopupControllerTransitioning and UI theming via UIAppearance, enabling tailored animations and consistent branding.

Cons

Manual Content Sizing

Requires explicit setting of contentSizeInPopup for each view controller, adding boilerplate code and potential for layout errors, as noted in the README.

Objective-C Legacy Code

Written in Objective-C, which may not align with modern Swift paradigms and could complicate maintenance in Swift-focused projects despite compatibility.

Limited Native Integration

Does not automatically leverage iOS 13+ native modal APIs, requiring additional work for seamless integration with newer system features like sheet presentations.

Frequently Asked Questions

Quick Stats

Stars2,583
Forks344
Contributors0
Open Issues68
Last commit4 years ago
CreatedSince 2015

Tags

#swift-compatible#ios#keyboard-handling#popup#objective-c#ui#custom-transitions#iphone#ui-components#bottom-sheet#bulletin-board#ipad#cocoapods#carthage

Built With

O
Objective-C

Included in

iOS51.7k
Auto-fetched 16 hours ago

Related Projects

SwiftEntryKitSwiftEntryKit

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

Stars6,755
Forks622
Last commit2 years ago
PopupViewPopupView

Toasts and popups library written with SwiftUI

Stars4,057
Forks314
Last commit9 days ago
PopupDialogPopupDialog

A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertController alert style.

Stars4,027
Forks518
Last commit2 years ago
LNPopupControllerLNPopupController

A framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps.

Stars3,112
Forks346
Last commit18 hours 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