博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
抽屉效果
阅读量:6165 次
发布时间:2019-06-21

本文共 1693 字,大约阅读时间需要 5 分钟。

#import "DragerViewController.h"

 

@interface DragerViewController ()

 

@property (nonatomic, weakUIView *leftV;

@property (nonatomic, weakUIView *rightV;

@property (nonatomic, weakUIView *mainV;

 

@end

 

@implementation DragerViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

 

    //添加子控件

    [self setUp];

    

    

    //添加手势

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

    

    [self.mainV addGestureRecognizer:pan];

}

 

- (void)pan:(UIPanGestureRecognizer *)pan{

    

    //获取偏移量

    CGPoint transP = [pan  translationInView:self.mainV];

    //为什么不使用transform,是因为我们还要去修改高度,使用transform,只能修改,x,y

    //self.mainV.transform = CGAffineTransformTranslate(self.mainV.transform, transP.x, 0);

 

    self.mainV.frame = [self frameWithOffsetX:transP.x];

    //判断拖动的方向

    if(self.mainV.frame.origin.x > 0){

        //向右

        self.rightV.hidden = YES;

    }else if(self.mainV.frame.origin.x < 0){

        //向左

        self.rightV.hidden = NO;

    }

 

    //复位

    [pan setTranslation:CGPointZero inView:self.mainV];

    

}

 

//根据偏移量计算MainVframe

- (CGRect)frameWithOffsetX:(CGFloat)offsetX {

    CGRect frame = self.mainV.frame;

    frame.origin.x += offsetX;

 

    return frame;

}

 

 

 

 

- (void)setUp{

    

    //leftV

    UIView *leftV = [[UIView alloc] initWithFrame:self.view.bounds];

    leftV.backgroundColor = [UIColor blueColor];

    self.leftV = leftV;

    [self.view addSubview:leftV];

    //rightV

    UIView *rightV = [[UIView alloc] initWithFrame:self.view.bounds];

    rightV.backgroundColor = [UIColor greenColor];

    self.rightV = rightV;

    [self.view addSubview:rightV];

    //mianV

    UIView *mainV = [[UIView alloc] initWithFrame:self.view.bounds];

    mainV.backgroundColor = [UIColor redColor];

    self.mainV = mainV;

    [self.view addSubview:mainV];

}

 

 

 

 

@end

转载于:https://www.cnblogs.com/liuzhenjie/p/5455703.html

你可能感兴趣的文章
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
查看>>
js时间和时间戳之间如何转换(汇总)
查看>>
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
查看>>
java中string和int的相互转换
查看>>
P1666 前缀单词
查看>>
HTML.2文本
查看>>
Ubuntu unity安装Indicator-Multiload
查看>>
解决Eclipse中新建jsp文件ISO8859-1 编码问题
查看>>
7.对象创建型模式-总结
查看>>
【论文阅读】Classification of breast cancer histology images using transfer learning
查看>>
移动端处理图片懒加载
查看>>
jQuery.on() 函数详解
查看>>
谈缓存和Redis
查看>>
【转】百度地图api,根据多点注标坐标范围计算地图缩放级别zoom自适应地图
查看>>
用户调研(补)
查看>>
ExtJS之开篇:我来了
查看>>
☆1018
查看>>
oracle 去掉空格
查看>>
6.13心得
查看>>
Runtime类
查看>>