Features
A powerful, extensible system for fluid context menus, popovers, and floating UI elements.
-
Geometry-Aware Placement
Precise positioning relative to source views with automatic overflow detection.
-
Custom Animations
Full control over transitions and visual effects including liquid glass styling.
-
Decoupled Architecture
Clean separation of state, layout, rendering, and styling concerns.
-
SwiftUI Native
Built specifically for SwiftUI with modern Swift patterns and best practices.
Quick Start
Get started with FluidMenu in just a few steps.
-
Installation
In Xcode:
- File → Add Package Dependencies...
- Enter the repository URL below:
https://github.com/UltiimateDog/FluidMenu -
Basic Setup
Wrap your root view with OverlayHost:
import SwiftUI import FluidMenu @main struct MyApp: App { var body: some Scene { WindowGroup { OverlayHost { ContentView() } } } } -
Simple Usage
Use FluidMenu anywhere in your views:
FluidMenu { VStack { Button("Edit") { } Button("Delete") { } } } label: { Image(systemName: "ellipsis.circle") } -
Advanced Usage
For custom context menus with full control:
@Namespace private var namespace @State private var isPresented = false Text("Long press me") .fluidContextMenu( isPresented: $isPresented, namespace: namespace ) { VStack { Button("Option 1") { } Button("Option 2") { } } .padding() }
Contribute
FluidMenu is open source and welcomes contributions! Whether you want to report bugs, suggest features, or submit pull requests, we'd love your help.
-
GitHub Repository
Clone the repository to get started:
git clone https://github.com/UltiimateDog/FluidMenu.gitgithub.com/UltiimateDog/FluidMenu
Check out the repository for contribution guidelines, issue tracking, and the latest development updates.
Contact
Have questions or feedback about FluidMenu?
-
GitHub
Report issues or contribute
-
Email
Reach out for support and inquiries