一个三维侧边菜单的小类,支持打开侧边菜单时的点击手势和始终支持点击手势,支持设备方向。您可以选择菜单的侧边。
SlideMenu3D 通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 podfile 中
pod "SlideMenu3D"
或者下载项目并在项目中导出 HKSlideMenu3DController.{h/m}
要运行示例项目,克隆仓库,然后在 Example 目录中首先运行 pod install。
在您的视图导入 HKSlideMenu3DController 类
#import <HKSlideMenu3DController.h>
保留类
@property (strong, nonatomic) HKSlideMenu3DController *slideMenuVC;`
现在初始化类并设置视图控制器以设置菜单视图和中心视图
self.slideMenuVC = [[HKSlideMenu3DController alloc] init];
self.slideMenuVC.view.frame = [[UIScreen mainScreen] bounds];
self.slideMenuVC.menuViewController = myMenuViewController;
self.slideMenuVC.mainViewController = myMianViewController;
您还可以设置背景图片
self.slideMenuVC.backgroundImage = [UIImage imageNamed:@"cloud"];
您可以更改图片的内容模式
self.slideMenuVC.backgroundImageContentMode = UIViewContentModeTopLeft;
要打开和关闭菜单,请调用 toggleMenu,此函数确定菜单的当前状态
[self.slideMenuVC toggleMenu];
要替换主视图,只需设置一个新的 UIViewController
self.slideMenuVC.mainViewController = anotherViewController;
[self.slideMenuVC setEnablePan:true];
[self.slideMenuVC setEnablePan:false];
SlideMenu3D 拥有一些方法,用于在菜单移动(将 | 已)时通知您(打开 | 关闭),这些方法如下
-(void)willOpenMenu;
-(void)didOpenMenu;
-(void)willCloseMenu;
-(void)didCloseMenu;
在控制器中添加 HKSlideMenu3DControllerDelegate
并设置代理
self.slideMenuVC.delegate = self;
注意:如果您需要更多详细信息,请检查 HKAppDelegate.m
和 HKMenuView.{h/m}
在版本 0.1.5 中,我添加了对菜单显示在右侧的支持,您只需设置菜单的侧边即可。
self.sideMenu3D = MenuLeft;
self.sideMenu3D = MenuRight;
示例代码有一个按钮可以更改菜单的侧边
您可以为打开的菜单设置距离(感谢 @andres-ciano)
self.sideMenu3D.distanceOpenMenu = 100.0f;
版本 0.1.2 之后,我们为容器视图添加了层次结构,旋转取决于您的 mainViewController
。
在 UIViewController
中设置您的工作方向
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskPortrait;
}
如果您需要 forces 展示特定的 UIViewController
,请检查 HKAppDelegate.m
中的方法 setSecondView
如果你的mainViewController
是一个UINavigationController
,并且你想要你的UIViewController
处理旋转值,你必须创建一个UINavigationController
的子类,就像示例项目中HKRotationNavigationController
一样
由Steven Kuiper提供的菜单图片
https://www.iconfinder.com/Verzint
@hunk,[email protected]
SlideMenu3D在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。