APMultiMenu
iOS Slideout Menus
Install / Use
/learn @Aadeshp/APMultiMenuREADME
APMultiMenu
Usage
To run the example project, clone the repo, and run pod install from the Example directory first.


How To Use
In AppDelegate.m:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UINavigationController *nav = [sb instantiateViewControllerWithIdentifier:@"Nav"];
UIViewController *leftVC = [sb instantiateViewControllerWithIdentifier:@"LeftVC"];
UIViewController *rightVC = [sb instantiateViewControllerWithIdentifier:@"RightVC"];
APMultiMenu *apmm = [[APMultiMenu alloc] initWithMainViewController:nav
leftMenu:leftVC
rightMenu:rightVC];
//Add Shadow To Main View
apmm.mainViewShadowEnabled = YES;
apmm.mainViewShadowColor = [UIColor blackColor]; //Default Value
apmm.mainViewShadowRadius = 4.0f; //Default Value
apmm.mainViewShadowOpacity = 0.8f; //Default Value
apmm.mainViewShadowOffset = CGSizeMake(1, 1); //Default Value
//Changing Animation Duration
apmm.animationDuration = 0.4f; //Default Value
self.window.rootViewController = apmm;
[self.window makeKeyAndVisible];
return YES;
}
To Change Main ViewController From the Slideout Menu:
//Option 1 - Plain ViewController
[self.sideMenuContainerViewController setMainViewController:(UIViewController *)]
//Option 2 - UINavgationController
[self.sideMenuContainerViewController setMainViewController:[[UINavigationController alloc] initWithRootViewController:(UIViewController *)]];
Using Delegate Methods
...
apmm.delegate = self;
...
//Fired BEFORE one of the side menus open up
- (void)sideMenu:(APMultiMenu *)sideMenu willRevealSideMenu:(UIViewController *)sideMenuViewController {
...
}
//Fired BEFORE one of the side menus close
- (void)sideMenu:(APMultiMenu *)sideMenu willHideSideMenu:(UIViewController *)sideMenuViewController {
...
}
//Fired AFTER one of the side menus open up
- (void)sideMenu:(APMultiMenu *)sideMenu didRevealSideMenu:(UIViewController *)sideMenuViewController {
...
}
//Fired AFTER one of the side menus close
- (void)sideMenu:(APMultiMenu *)sideMenu didHideSideMenu:(UIViewController *)sideMenuViewController {
...
}
Customization
The following properties are customizable:
- mainViewShadowEnabled
- mainViewShadowRadius
- mainViewShadowOpacity
- mainViewShadowOffset
- mainViewShadowColor
- animationDuration
- menuIndentationEnabled
- panGestureEnabled
Installation
APMultiMenu is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "APMultiMenu"
---OR---
You can clone the repo:
$ git clone https://github.com/Aadeshp/APMultiMenu.git
And add the directory APMultiMenu/ to your project
Coming Soon
- More Customization
Author
Aadesh Patel, aadeshp95@gmail.com
License
APMultiMenu is available under the MIT license. See the LICENSE file for more info.
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate 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
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
