其他分享
首页 > 其他分享> > UITouch

UITouch

作者:互联网

一.Touch常用属性

 
 window 触摸产生时所处的窗口
 view  触摸时所产生的视图
 tapCount 短时间内点按屏幕的次数,可以判断tapCount时点击,双击,或更多点击
 
 timestamp 记录触摸事件产生或变化时的时间
 
 phase 当前事件所处状态
 
 
 touchu常用方法
 
 返回的位置是针对view的原点
 -(CGPoint)locationInView:(UIView *)view
 
 
 //记录前一个触摸点位置
 -(CGPoint)previousLocationInView:(UIView *)view
 
 
 UIEvent
事件对象,记录时间产生时刻和类型,每产生一个事件,就会产生一个Event对象
 属性
 type
 subtype
 事件产生时间
 timestamp

二.代理方法

//触摸开始
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    //获取到点击对象
    UITouch *touch = [touches anyObject];
    NSLog(@"触摸开始--是几根手指%ld",touch.tapCount);
    
}
//触摸移动
-(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    //获取移动偏移量
    UITouch *touch = [touches anyObject];
    CGPoint location = [touch locationInView:self];
    CGPoint preLocation = [touch previousLocationInView:self];
    CGPoint offset = CGPointMake(location.x-preLocation.x, location.y-preLocation.y);
    NSLog(@"offset.x--%f  offset.y--%f",preLocation.x,preLocation.y);
}
//触摸结束
-(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    NSLog(@"触摸结束");
    
}
//触摸取消,可能会经历
-(void)touchesCancelled:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    
    
}

标签:touches,CGPoint,触摸,UIEvent,UITouch,touch,preLocation
来源: https://blog.csdn.net/qq_30211165/article/details/98478751