SideMenu

A SwiftUI Side Menu Control (inspired by Instagram Stories Camera)

SwiftPM compatible Swift Version License

See below for examples and customization.

Installation

Requirements

  • iOS 14.0+
  • Xcode 13+
  • Swift 5+

Swift Package Manager

In Xcode, select: File > Swift Packages > Add Package Dependency.

Paste the package github url in the search bar https://github.com/GlennBrann/SideMenu and press next and follow instructions given via Xcode to complete installation.

You can then add SideMenu to your file by adding import SideMenu.

Or

Add this project on your Package.swift

import PackageDescription

let package = Package(
    dependencies: [
        .Package(url: "https://https://github.com/GlennBrann/SideMenu.git", branch: "main")
    ]
)

Example

SideMenu

SideMenu2

let allMenuItems = [
    MenuItem(id: "create", title: "Create", image: "textformat", selected: false),
    MenuItem(id: "boomerang", title: "Boomerang", image: "infinity", selected: false),
    MenuItem(id: "layout", title: "Layout", image: "square.split.bottomrightquarter.fill", selected: false),
    MenuItem(id: "handsfree", title: "Hands-free", image: "stop.circle", selected: false),
    MenuItem(id: "dual", title: "Dual", image: "camera.shutter.button", selected: false)
]

struct ContentView: View {
    
    @State private var selectedItem: MenuItem?
    @State private var menuAlignment: HorizontalAlignment = .leading
    
    var body: some View {
        Color.gray.opacity(0.5).edgesIgnoringSafeArea(.all)
            .addSideMenu(
                menuItems: allMenuItems,
                closedDisplayCount: 3,
                selectedItem: $selectedItem,
                menuAlignment: $menuAlignment
            )
    }
}

License

SideMenu is available under the BSD 3-Clause. See the LICENSE file for more info.

GitHub

View Github