A Swift framework for adding sliding panels to iOS apps with safe area and keyboard handling.
Panels is a Swift framework for iOS that enables developers to easily add sliding panels to their applications. It handles complex UI challenges like safe area adaptation and keyboard visibility automatically, allowing developers to focus on building features rather than managing panel behavior.
iOS developers building apps that require sliding overlays, modals, or contextual panels, such as settings drawers, detail views, or interactive menus.
Developers choose Panels for its simplicity, robust handling of iOS-specific UI concerns, and flexible configuration options that reduce boilerplate code compared to manual implementations or heavier UI libraries.
Panels is a framework to easily add sliding panels to your application
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically adjusts panel positioning for device notches and rounded corners via the useSafeArea flag in PanelConfiguration, eliminating manual safe area handling.
Dynamically moves panels when the keyboard appears or disappears, preventing content occlusion without extra code, as highlighted in the README's key features.
Offers extensive customization through PanelConfiguration, allowing control over size, margins, gestures, and animation behaviors with declarative settings.
Supports tap and drag gestures on panel headers for collapsing and expanding, with options like closeOutsideTap for intuitive user interactions.
Built exclusively for iOS with Swift, making it unsuitable for cross-platform projects or other Apple platforms like macOS without significant adaptation.
Designed around managing individual panels; lacks built-in support for multiple coordinated panels or complex panel hierarchies, which can limit more advanced UIs.
Requires view controllers to conform to protocols like Panelable, adding boilerplate code that might be cumbersome for very simple or rapid prototyping needs.