9.2 触摸和手势:单击双击、移动视图
来源:互联网 发布:2016网络流行词经典版 编辑:程序博客网 时间:2024/05/21 01:28
======模拟单击双击==========
#import "TouchView.h"@implementation TouchView- (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { // 开启触摸响应,默认是yes self.userInteractionEnabled = YES; // 开启多点触摸,默认NO; self.multipleTouchEnabled = YES; } return self;}- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{// NSLog(@"touchesBegan"); //--------------------模拟单击、双击---------------------- UITouch *touch = [touches anyObject]; NSUInteger tapCount = touch.tapCount;// NSLog(@"tapCount----%d", tapCount); //延迟调用单击事件;这样就能区别单击和双击事件; //取消某个延迟调用方法; //延迟调用方法怎么取消的:延迟调用被加到runloop中,当我们调用取消方法时,runloop就会取消调用延迟加载; if (tapCount == 1) { [self performSelector:@selector(singleTap) withObject:nil afterDelay:0.5]; } else if (tapCount == 2) { [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(singleTap) object:nil]; [self doubleTap]; } CGPoint point = [touch locationInView:self]; NSLog(@"%@", NSStringFromCGPoint(point));}/*- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ NSLog(@"touchesMoved");}- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ NSLog(@"touchesEnded");}*/- (void)singleTap{ NSLog(@"单击");}- (void)doubleTap{ NSLog(@"双击");}@end
======模拟移动==========
#import "TouchView.h"@interface TouchView (){ UIView *movieView; }@end@implementation TouchView- (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { // 开启触摸响应,默认是yes self.userInteractionEnabled = YES; // 开启多点触摸,默认NO; self.multipleTouchEnabled = YES; movieView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)]; movieView.backgroundColor = [UIColor redColor]; [self addSubview:movieView]; } return self;}- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{// NSLog(@"touchesBegan"); //--------------------模拟单击、双击---------------------- UITouch *touch = [touches anyObject]; NSUInteger tapCount = touch.tapCount;// NSLog(@"tapCount----%d", tapCount); //延迟调用单击事件;这样就能区别单击和双击事件; //取消某个延迟调用方法; //延迟调用方法怎么取消的:延迟调用被加到runloop中,当我们调用取消方法时,runloop就会取消调用延迟加载; if (tapCount == 1) { [self performSelector:@selector(singleTap) withObject:nil afterDelay:0.5]; } else if (tapCount == 2) { [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(singleTap) object:nil]; [self doubleTap]; } CGPoint point = [touch locationInView:self]; NSLog(@"%@", NSStringFromCGPoint(point));}// UIView鼠标跟随- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{// NSLog(@"touchesMoved"); UITouch *touch = [touches anyObject]; CGPoint point = [touch locationInView:self]; CGRect frame = movieView.frame; frame.origin = point; movieView.frame = frame; }/*- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ NSLog(@"touchesEnded");}*/- (void)singleTap{ NSLog(@"单击");}- (void)doubleTap{ NSLog(@"双击");}@end
0 0
- 9.2 触摸和手势:单击双击、移动视图
- IOS学习 触摸和手势UITouch 单击双击、移动视图
- IOS学习 触摸和手势 手势识别器:单击、双击、轻扫、滑动、长按、旋转
- ios 单击和双击手势
- UIVIew单击、双击手势
- 单击手势和双击手势并存出现的问题
- iOS 单击手势和双击手势共存问题
- iOS 单击手势和双击手势冲突问题
- ios开发-单击和双击手势的区分处理
- ios开发-单击和双击手势的区分处理
- Objective-C同时添加单击和双击手势冲突
- iOS 同一个View识别单击和双击手势
- ios手势怎样实现同时可以单击和双击
- UITapGestureRecognizer手势识别之双击和单击结合
- 捏合视图变化(视图的缩放), 单击随着鼠标移动, 双击放大视图,再双击还原视图
- iOS常见手势总结-单击、双击、捏合、旋转、移动、清扫、长按
- 单击和双击共存
- 手势操作---识别单击还是双击
- Java集合源码学习(8)_List接口的实现_CopyOnWriteArrayList
- 103荷兰国旗
- content provider
- ZOJ-1123
- android采集的视频进行旋转
- 9.2 触摸和手势:单击双击、移动视图
- 坐飞机的危险系数有多大
- java线程池
- 讨论一下java中的构造方法中为什么不要尝试调用其本类方法!!!
- 《Struts2技术内幕》自评 —— 尚未完成的话题(Web开发的基本模式)
- 大萧条与大学者
- 王阳明 余之圣贤也
- 链表建立,插入,删除,输出
- CodeForces Round #257 (Div. 2)