SSCustomSideMenu
Side Menu Custom Control for iOS apps
Install / Use
/learn @SimformSolutionsPvtLtd/SSCustomSideMenuREADME
SSCustomSideMenu

Features
- Highly customizable
- Multiple options of animations
- Dynamic menu size
- Available through CocoaPods
Requirements
- iOS 11.0+
- Xcode 10+
Installation
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!
Usage example
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()
-
Contribute
- We would love you for the contribution to SSCustomSideMenu, check the LICENSE file for more info.
License
- SSCustomSideMenu is available under the MIT license. See the LICENSE file for more info.
Related Skills
node-connect
338.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.6kCommit, push, and open a PR
