ENSwiftSideMenu
  • November 25, 2023

A lightweight flyover side menu component for iOS with the UIDynamic‘s bouncing animation, UIGestures and UIBlurEffect. Allows you to use native UINavigationController‘s logic to manage view controllers. The component is written in Swift.

Requirements


  • iOS 9 or higher

Installation


CocoaPods

The recommended way for installating ENSwiftSideMenu is via the CocoaPods package manager

platform :ios, ‘9.0’
pod ‘ENSwiftSideMenu’, ‘~> 0.1.4’

Manual Install

All you need is import ENSideMenu.swift and ENSideMenuNavigationController.swift to your project folder.

Usage Example


  1. Create a root UINavigationController subclassing from ENSideMenuNavigationController
  2. Create a UIViewController for your side menu
  3. Initilize the menu view with a source view and menu view controller:

override func viewDidLoad() {
super.viewDidLoad()
sideMenu = ENSideMenu(sourceView: self.view, menuViewController: MyMenuViewController(), menuPosition:.Left)
// show the navigation bar over the side menu view
view.bringSubviewToFront(navigationBar)
}

  1. To change content view controller use next line in your menu view controller:

sideMenuController()?.setContentViewController(destViewController)

  1. Check example project for more explanation

GitHub


View Github

#animation #ios #swift #uicomponents
YOU MIGHT ALSO LIKE...
PermissionsSwiftUI: A SwiftUI package to handle permissions

PermissionsSwiftUI displays and handles permissions in SwiftUI. It is largely inspired by SPPermissions. The UI is highly customizable and resembles an Apple style. ...

Pager tab strip view

Introduction PagerTabStripView is the first pager view built in pure SwiftUI. It provides a component to create interactive pager views ...

PageView

SwiftUI view enabling page-based navigation, imitating the behaviour of UIPageViewController in iOS.

Pages

    

How to take action when a property changes

1. Taking Action When a Property Changes: Property Observers Swift lets you observe and respond to changes in a property’s ...