A customizable iOS popup controller that mimics UINavigationController's push/pop interface for modal presentations.
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.
iOS developers building applications that require multi-step modal interfaces, such as wizards, forms, or settings panels presented in a popup style.
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.
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.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Mimics UINavigationController's push/pop methods, allowing developers to build multi-step modal flows with minimal learning curve, as shown in the README examples.
Includes automatic keyboard-aware repositioning and drag-to-dismiss functionality out-of-the-box, enhancing user experience without extra coding effort.
Supports both form sheet and bottom sheet styles, adaptable for various UI contexts on iPhone and iPad, with easy configuration via the style property.
Offers custom transitions through STPopupControllerTransitioning and UI theming via UIAppearance, enabling tailored animations and consistent branding.
Requires explicit setting of contentSizeInPopup for each view controller, adding boilerplate code and potential for layout errors, as noted in the README.
Written in Objective-C, which may not align with modern Swift paradigms and could complicate maintenance in Swift-focused projects despite compatibility.
Does not automatically leverage iOS 13+ native modal APIs, requiring additional work for seamless integration with newer system features like sheet presentations.