Description
A SwiftUI bottom-up controller, like in the Maps app. Drag to expand or minimize.
SwiftUI Drawer alternatives and similar libraries
Based on the "Menu" category.
Alternatively, view SwiftUI Drawer alternatives based on common mentions on social networks and blogs.
-
SideMenu
Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less. -
Pagemenu
A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) -
SlideMenuControllerSwift
iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure swift. -
CircleMenu
:octocat: โญ๏ธ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library made by @Ramotion -
GuillotineMenu
Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine. -
PagingKit
PagingKit provides customizable menu UI. It has more flexible layout and design than the other libraries. -
Admob for SwiftUI
This library helps you to easily integrate the Admob SDK in your SwiftUI app. It is a wrapper around the Google Mobile Ads SDK for iOS. It provides a SwiftUI view that you can use to display banner ads in your app above your tabbar.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of SwiftUI Drawer or a related project?
README
SwiftUI Drawer
A SwiftUI bottom-up controller, like in the Maps app. Drag to expand or minimize.
Contents
Package
For Xcode Projects
File > Swift Packages > Add Package Dependency: https://github.com/maustinstar/swiftui-drawer
For Swift Packages
Add a dependency in your your Package.swift
.package(url: "https://github.com/maustinstar/swiftui-drawer.git", from: "0.1.0"),
Basic Usage
Embed your view content in a ZStack
with the Drawer as the last element. The heights
parameter defines a list of resting heights for the drawer.
ZStack {
ScrollView {
//...
}
Drawer(heights: [100, 340]) {
Color.blue
}.edgesIgnoringSafeArea(.vertical)
}
See the full Reference Guide.
Examples
A multi-height drawer with haptic impact.
Drawer {
ZStack {
RoundedRectangle(cornerRadius: 12)
.foregroundColor(.white)
.shadow(radius: 100)
VStack(alignment: .center) {
Spacer().frame(height: 4.0)
RoundedRectangle(cornerRadius: 3.0)
.foregroundColor(.gray)
.frame(width: 30.0, height: 6.0)
Spacer()
}
}
}.edgesIgnoringSafeArea(.vertical)
.rest(at: .constant([100, 340, UIScreen.main.bounds.height - 40]))
.impact(.light)
See more Examples
๐ Looking for more fun SwiftUI Packages?
Take your SwiftUI apps to the next level with these Packages!
Credits
- Michael Verges - Initial work - [email protected]