- Highly customizable
 - Multiple options of animations
 - Dynamic menu size
 - Available through CocoaPods
 
- iOS 11.0+
 - Xcode 10+
 
CocoaPods
- 
You can use CocoaPods to install SSCustomSideMenu by adding it to your Podfile:
use_frameworks! pod 'SSCustomSideMenu' - 
In the swift file, import SSSideMenu module:
import UIKit import SSCustomSideMenu 
Manually
- Download and drop SSCustomSideMenu folder in your project.
 - Congratulations!
 
Create a subclass of SSSideMenuContainerViewController
class SideMenuViewController: SSSideMenuContainerViewController { ... }
- 
In the storyboard assign a custom class SideMenuViewController you just created to a viewController. This viewController will be the container for Side menu.
Create Menu Table
let menuTable = SSMenuTableView()Configure Side Menu Options
let menuCellConfig = SSMenuCellConfig() menuCellConfig.cellStyle = .defaultStyle menuCellConfig.leftIconPadding = 20 menuCellConfig.imageToTitlePadding = 10 menuCellConfig.imageHeight = 24 menuCellConfig.imageWidth = 24 menuCellConfig.numberOfOptions = 3 menuCellConfig.selectedColor = .purple menuCellConfig.nonSelectedColor = .black menuCellConfig.images = [UIImage(named: "first"), UIImage(named: "second"), UIImage(named: "third")] menuCellConfig.titles = ["First", "Second", "Thrird"] self.menuTable.config = menuCellConfigConfigure Side Menu
let sideMenuConfig = SSSideMenuConfig() sideMenuConfig.animationType = .slideOut // Other options: .slideIn, .compress(0.8, 20) sideMenuConfig.sideMenuPlacement = .left // Other options: .right sideMenuConfig.menuWidth = UIScreen.main.bounds.width * 0.5 let firstViewController = storyboard?.instantiateViewController(withIdentifier: "FirstViewController") let secondViewController = storyboard?.instantiateViewController(withIdentifier: "SecondViewController") let thirdViewController = storyboard?.instantiateViewController(withIdentifier: "ThirdViewController") sideMenuConfig.viewControllers = [firstViewController!, secondViewController!, thirdViewController!] sideMenuConfig.menuTable = menuTable self.ssMenuConfig = sideMenuConfigDelegates
- 
SSCustomSideMenu provides delegate 'sideMenuDelegate' which lets developers dynamically decide which operations to perform on menu option selection
sideMenuDelegate = self - 
By doing this, you will be asked to confirm to following protocol:
extension ViewController: SSSideMenuDelegate { func shouldOpenViewController(forMenuOption menuOption: Int) -> Bool { if menuOption == 1 { // Perform action for custom options (i.e logout) return false } else { return true } } } 
Open and Close Side Menu
- 
SSCustomSideMenu Provides custom side menu button - 'SSMenuButton'. You only need to assign SSMenuButton custom class to your UIButton from Interface Builder
 - 
Manually open or close side menu :
SSSideMenuControls.openOrCloseSideMenu() 
 - 
 
- We would love you for the contribution to SSCustomSideMenu, check the LICENSE file for more info.
 
- SSCustomSideMenu is available under the MIT license. See the LICENSE file for more info.
 




