SlideMenu3D 0.1.6

SlideMenu3D 0.1.6

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布日期最后发布2016年2月

Edgar G @hunk维护。




  • @hunk

一个三维侧边菜单的小类,支持打开侧边菜单时的点击手势和始终支持点击手势,支持设备方向。您可以选择菜单的侧边。

Video

安装

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;

启用/禁用 Pan 手势识别器

[self.slideMenuVC setEnablePan:true];
[self.slideMenuVC setEnablePan:false];

代理方法

SlideMenu3D 拥有一些方法,用于在菜单移动(将 | 已)时通知您(打开 | 关闭),这些方法如下

-(void)willOpenMenu;
-(void)didOpenMenu;
-(void)willCloseMenu;
-(void)didCloseMenu;

在控制器中添加 HKSlideMenu3DControllerDelegate 并设置代理

self.slideMenuVC.delegate = self;

注意:如果您需要更多详细信息,请检查 HKAppDelegate.mHKMenuView.{h/m}

右侧菜单

在版本 0.1.5 中,我添加了对菜单显示在右侧的支持,您只需设置菜单的侧边即可。

self.sideMenu3D = MenuLeft;
self.sideMenu3D = MenuRight;

示例代码有一个按钮可以更改菜单的侧边

Menu in left side

Menu in right side

打开菜单的距离

您可以为打开的菜单设置距离(感谢 @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文件。