[手势与触摸]用拖动手势识别器实现可供拖拽的视图
来源:互联网 发布:网络实时监控软件 编辑:程序博客网 时间:2024/06/05 04:16
//// DragView.m// iOS核心开发手册#import "DragView.h"/*拖动手势识别器可以侦测拖拽手势,只要系统检测到拖动手势,就会触发你所指定的回调方法 */@implementation DragView{ //用来保存视图原来的位置 CGPoint previousLocation;}- (instancetype)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { //由于这个是ImaveView,所以要开启交互功能 self.userInteractionEnabled = YES; //在初始化时,向视图添加识别器 //当用户在DragView实例上面执行拖拽时,就会触发 handlePan: 回调方法。 UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handelPan:)]; self.gestureRecognizers = @[panRecognizer]; } return self;}//回调方法- (void)handelPan:(UIPanGestureRecognizer *)panRecognizer{ //更新DragView的中心点,使之于用户所拖拽的距离相符 CGPoint translation = [panRecognizer translationInView:self.superview]; //移动视图的中心点 self.center = CGPointMake(previousLocation.x + translation.x, previousLocation.y + translation.y);}- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ //用户所触摸的DragView会显示在屏幕最前面 [self.superview bringSubviewToFront:self]; //记录位置 previousLocation = self.center;}@end本篇只有基础代码,更多代码查看上一篇:《[手势与触摸]创建可以拖动的视图》
0 0
- [手势与触摸]用拖动手势识别器实现可供拖拽的视图
- [手势与触摸]创建可以拖动的视图
- iOS的触摸与手势识别
- 9.6 触摸和手势:手势识别器的使用
- 手势识别(六)调节触摸到视图的传递
- Cosmos 如何实现多点触摸手势识别
- 触摸屏幕手势识别
- 触摸手势识别2
- 读书笔记---触摸事件与手势识别
- 触摸事件与手势识别1
- iOS触摸事件与手势识别详解
- 捏合与拖动手势实现视图的缩放拖动 以及 任一边界拖进屏幕自动回弹
- iOS中事件产生、触摸、手势以及手势识别器
- 多点手势识别的实现
- 多点手势识别的实现
- 多点手势识别的实现
- 多点手势识别的实现
- android手势识别的实现
- 招聘高级软件经理
- 写好JAVA代码的30条经验
- 使用ffmpeg将视频解析为YUV420
- 2015.12.23
- 多表存量关联优化
- [手势与触摸]用拖动手势识别器实现可供拖拽的视图
- UICollectionViewLayout
- Masonry简单使用
- 水晶报表:页眉或页脚超过了一页 解决方式
- 自定义标签
- 关于switch语句中定义变量的问题
- js实现二级栏目
- 使用Cocoapods 0.39时,pod库代码注意事项
- Mysql SQL random read n item data from a table ( Mysql随机读取SQL查询语句 )