# viewdeck/viewdeck

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/viewdeck-viewdeck).**

5,268 stars · 956 forks · Objective-C

## Links

- GitHub: https://github.com/ViewDeck/ViewDeck
- awesome-repositories: https://awesome-repositories.com/repository/viewdeck-viewdeck.md

## Description

ViewDeck is a side menu management framework and gesture-based navigation library for iOS. It provides a system for coordinating the presentation, animation, and interaction logic of left and right side menus within a container view controller.

The framework features a dynamic menu controller that allows for updating or removing active menu controllers at runtime to modify available navigation options. It includes a transition coordinator to manage custom motion and visual properties for sliding navigation panels.

The library supports both programmatic menu control and gesture-based activation via user swipe gestures. It manages side menu dimensions based on content size and utilizes container-based view wrapping to coordinate the relative positions of center and side content.

## Tags

### Mobile Development

- [iOS Navigation Drawers](https://awesome-repositories.com/f/mobile-development/ios-navigation-drawers.md) — Provides a framework for implementing sliding left and right navigation drawers in iOS applications.
- [Gesture-Driven View Transitions](https://awesome-repositories.com/f/mobile-development/android-view-management/gesture-driven-view-transitions.md) — Maps real-time touch input to the progress of sliding view transitions.
- [iOS Navigation Gesture Libraries](https://awesome-repositories.com/f/mobile-development/ios-navigation-gesture-libraries.md) — Provides specialized gesture-driven navigation transitions for iOS applications.

### Software Engineering & Architecture

- [Controller-Based View Wrapping](https://awesome-repositories.com/f/software-engineering-architecture/layer-view-wrapping/controller-based-view-wrapping.md) — Wraps center and side content within a parent controller to coordinate relative positions.
- [Transition Coordination Logic](https://awesome-repositories.com/f/software-engineering-architecture/system-internals/centralization-patterns/workflow-execution-managers/complex-workflow-coordination/ui-navigation-coordination/transition-coordination-logic.md) — Manages custom motion and visual transition properties for sliding navigation panels.

### User Interface & Experience

- [Side Menu Visibility Toggles](https://awesome-repositories.com/f/user-interface-experience/context-menu-customizations/conditional-menu-items/menu-visibility-state-machines/side-menu-visibility-toggles.md) — Allows triggering the appearance of side menus through user swipe gestures. ([source](https://github.com/viewdeck/viewdeck#readme))
- [Gesture-Based Menu Systems](https://awesome-repositories.com/f/user-interface-experience/gesture-based-menu-systems.md) — Enables users to open and close navigation panels using intuitive swipe gestures.
- [Side Menu Frameworks](https://awesome-repositories.com/f/user-interface-experience/side-menu-frameworks.md) — Coordinates the presentation and animation of left and right side menus within a container.
- [Runtime Menu Switching](https://awesome-repositories.com/f/user-interface-experience/context-menu-customizations/application-launch-menus/per-application-menu-switching/runtime-menu-switching.md) — Supports updating or removing active menu controllers during runtime to modify options. ([source](https://github.com/viewdeck/viewdeck#readme))
- [Dynamic Navigation Routing](https://awesome-repositories.com/f/user-interface-experience/dynamic-navigation-menus/dynamic-navigation-routing.md) — Changes available navigation options at runtime by swapping the active side menu controller.
- [Motion Property Engines](https://awesome-repositories.com/f/user-interface-experience/motion-property-engines.md) — Controls the sliding behavior of menus using customizable animation curves and timing properties.
- [Programmatic Menu Toggles](https://awesome-repositories.com/f/user-interface-experience/navigation-animations/menu-toggle-animations/programmatic-menu-toggles.md) — Provides APIs to open or close side menus programmatically via explicit method calls.

### Part of an Awesome List

- [Menu Transition Animations](https://awesome-repositories.com/f/awesome-lists/media/animation-transitions/ui-transition-animations/menu-transition-animations.md) — Implements smooth animated transitions for side menus to improve visual flow.
- [UI Components](https://awesome-repositories.com/f/awesome-lists/devtools/ui-components.md) — Drawer-style navigation controller for side-panel interfaces.

### Content Management & Publishing

- [Dynamic Menu Controller Management](https://awesome-repositories.com/f/content-management-publishing/category-organizations/hierarchical-navigations/dynamic-menu-hierarchies/dynamic-menu-controller-management.md) — Provides a system for updating or removing active menu controllers during runtime.
- [Runtime Controller Swapping](https://awesome-repositories.com/f/content-management-publishing/category-organizations/hierarchical-navigations/dynamic-menu-hierarchies/runtime-controller-swapping.md) — Allows swapping the active side menu instance at runtime to modify navigation options.
