Skip to content

Releases: xartistax/iosSwiftUISideMenu

iosSwiftUISideMenu v.1.02

01 Dec 23:49

Choose a tag to compare

iOS SwiftUI SideMenu

Preview

Install

Swift Package Manager

Open Xcode, go to File -> Swift Packages -> Add Package Dependency and enter https://github.com/xartistax/iosSwiftUISideMenu.git as Branch main

You need to add import iosSwiftUISideMenu

Usage

  • initilize SideMenuView with available parameters
    struct ContentView: View, TabItemView {
    
    @State private var isMenuOpen: Bool = true
    @State private var selectedTab: MenuTabModel?
    
    var tabs: [MenuTabModel] {
    return [
        
        MenuTabModel(
            title: "SubView",
            subtitle: nil,
            imageName: "lock",
            view: SubView(isMenuOpen: $isMenuOpen))
        
    ]
    
}
    
    var body: some View {
       
            
        SideMenuView (
            isMenuOpen: $isMenuOpen,
            selectedTab: $selectedTab,
            selectedMenuView: .roundIcons,
            rootView: RootView(isMenuOpen: $isMenuOpen),
            tabs: tabs
        )
    }
}

Available Parameters

SideMenuView (
    isMenuOpen: <#T##Binding<Bool>#>,
    selectedTab: <#T##Binding<MenuTabModel?>#>,
    offset: <#T##CGFloat#>,
    menuOverlayOpacity: <#T##CGFloat#>,
    blurRadius: <#T##CGFloat#>,
    enable3D: <#T##Bool#>,
    backImage: <#T##String#>,
    iconColor: <#T##Color#>,
    iconBg: <#T##Color#>,
    bgColor: <#T##Color#>,
    selectionColor: <#T##Color#>,
    menuOverlayColor: <#T##Color#>,
    avatar: <#T##AvatarView?#>,
    selectedMenuView: <#T##MenuViewType#>,
    rootView: <#T##RootView#>,
    tabs: <#T##[MenuTabModel]#>
        )
         

SubViews

struct SubView: View , TabItemView {
    
    @Binding var isMenuOpen: Bool
    
    var body: some View {
        VStack {
            Text("SubView")
            Button(action: {
                isMenuOpen.toggle()
            }, label: {
                Text("Close Button")
            })
        }
    }
}

Credits to

@akardas16