An iOS form sheet presentation controller with iPhone support, custom transitions, and flexible sizing.
MZFormSheetPresentationController is an open-source iOS library that provides an enhanced alternative to Apple's native UIModalPresentationFormSheet. It allows developers to present modal form sheets on both iPhone and iPad with customizable sizes, animations, and interactive gestures. The library solves the limitation of the native form sheet being iPad-only and offers greater control over the presentation's look and feel.
iOS developers building apps that require modal form interfaces, such as settings panels, data entry forms, or contextual menus, especially those needing iPhone compatibility and custom animations.
Developers choose MZFormSheetPresentationController for its robust feature set, including iPhone support, multiple transition styles, pan gesture dismissal, and easy integration with Auto Layout and storyboards. It's a mature, well-maintained library that simplifies creating polished modal experiences without reinventing the wheel.
MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup UIPresentationController size and feel form sheet.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables form sheet presentations on iPhone, not just iPad, addressing a key limitation of Apple's native UIModalPresentationFormSheet as stated in the README.
Includes multiple predefined transitions (slide, fade, bounce, drop-down) and supports custom transitions via MZFormSheetPresentationViewControllerTransitionProtocol, offering flexibility in UI effects.
Supports swipe-to-dismiss gestures in any direction (up, down, left, right) with MZFormSheetPanGestureDismissDirection, enhancing user interactivity for modal interfaces.
Provides MZFormSheetPresentationViewControllerSegue for easy setup in Interface Builder and full Auto Layout support, simplifying integration into existing UIKit workflows.
Major version updates, like from 1.x to 2.x, introduce non-backward compatible APIs, requiring code modifications and posing maintenance challenges as admitted in the README.
Limited to iOS 8 and above, excluding apps that need to support older iOS versions, which can be a barrier for legacy projects.
Does not natively support SwiftUI, making it less suitable for modern iOS apps adopting Apple's newer UI frameworks without additional bridging work.