美文网首页iOS Developer
iOS 侧滑显示菜单栏(基础)

iOS 侧滑显示菜单栏(基础)

作者: 梦iOS | 来源:发表于2016-11-15 15:54 被阅读0次

最常见的向右滑动显示菜单栏,其实就是两个或多个图层等级不一的视图。向右滑动时,最上面的图层根据滑动幅度来改变Frame(相对于父类复层)x值。现在常见的例如QQ侧滑显示菜单栏:下面的图层Frame.X值起初不是为0的,当顶级图层Frame.X的值为0时,监测滑动幅度是否大于0(作者取值为80),通过滑动幅度改变上下图层Frame.X的值。

废话不多说了,上代码吧:

//添加手势

UIPanGestureRecognizer*panGesture = [[UIPanGestureRecognizer alloc] initWithTarget: self action: @selector(changeFrame:)];

[self.view addGestureRecognizer: panGesture];

#pragma侧滑显示菜单

-(void)changeFrame:(UIPanGestureRecognizer*)recognizer{

//获取滑动幅度

CGPointtranslation = [recognizertranslationInView:self.view];//在某个view上面滑动幅度

float x = translation.x;//纪录滑动幅度

NSLog(@"%f",x);

[UIViewanimateWithDuration:0.5delay:0options:UIViewAnimationOptionCurveEaseOutanimations:^{

if(x >=0) {//实现跟手势改变位置

_contentView.frame=CGRectMake(x,0,SCREEN_WIDTH,SCREEN_HEIGHT);

_personMenuView.view.frame=CGRectMake(-SCREEN_WIDTH/3*2+ (x *0.9),0,SCREEN_WIDTH,SCREEN_HEIGHT);

}

}completion:nil];

if(recognizer.state==UIGestureRecognizerStateEnded) {

//当手势完成时,看最终幅度是否大于你预设的值,大于设置动画(展示菜单),小于时回到原处(隐藏菜单图层)

[UIViewanimateWithDuration:0.5delay:0options:UIViewAnimationOptionCurveEaseOutanimations:^{

if(x >80) {

_contentView.frame=CGRectMake(SCREEN_WIDTH/5*4+10,0,SCREEN_WIDTH,SCREEN_HEIGHT);

_personMenuView.view.frame=CGRectMake(0,0,SCREEN_WIDTH,SCREEN_HEIGHT);

}else{

_contentView.frame=CGRectMake(0,0,SCREEN_WIDTH,SCREEN_HEIGHT);

_personMenuView.view.frame=CGRectMake(-SCREEN_WIDTH/3*2,0,SCREEN_WIDTH,SCREEN_HEIGHT);

}

}completion:nil];

}

}

}

我写的虽然很简单,但是句句属实,比起网络上面的繁琐好多了

相关文章

  • iOS 侧滑显示菜单栏(基础)

    最常见的向右滑动显示菜单栏,其实就是两个或多个图层等级不一的视图。向右滑动时,最上面的图层根据滑动幅度来改变Fra...

  • 侧滑菜单NavigationView 的使用

    在做项目的时候,需要使用一个侧滑菜单栏: 问题:1.侧滑菜单的图标全部显示为灰色 menu布局 activity的...

  • iOS开发-侧滑菜单栏

    开发中经常需要用到的菜单栏样式## 实现起来比较简单,因为具体需要展示的菜单各不相同,所以就将要展现的菜单和展现的...

  • iOS 自定义TableView侧滑

    开发经常用到cell侧滑的功能,iOS8之前需要我们自定义,因为iOS8之前的侧滑,只能显示一个按钮。在iOS8之...

  • Android用ViewDragHelper实现侧滑菜单栏

    本文简单模仿了一般软件的侧滑菜单栏,只有当滑动主视图时,侧边菜单栏才会显示与隐藏,使用的是ViewDragHelp...

  • mui侧滑菜单栏

    先创建侧菜单栏页面left.html, 打开侧滑菜单 关闭侧菜单 点击遮罩蒙版关闭侧滑页面不建议使用mask =m...

  • Android封装侧滑菜单栏

    前言 Android开发过程中,我们有时会用到侧滑菜单栏的功能。在之前我已经写过一篇关于侧滑菜单栏的介绍,大家感兴...

  • iOS 三种侧滑菜单效果对比详解

    侧滑菜单 ios分类:iOS界面布局 DDMenu(传统侧滑效果)下载地址:https://github.com/...

  • iOS UITableViewCell侧滑显示多按钮

    仿QQ聊天列表侧滑显示多按钮效果效果,只需要实现UITableViewDelegate中的三个代理方法就可以了,效...

  • iOS侧滑

    由于项目中需要侧滑效果,找到一个差不多的demo,在前辈基础上自己加工一下,感觉还可以,用起来很方便 先上图 侧滑...

网友评论

    本文标题:iOS 侧滑显示菜单栏(基础)

    本文链接:https://www.haomeiwen.com/subject/hmflpttx.html