美文网首页
事件---触摸、运动、遥控

事件---触摸、运动、遥控

作者: PlatonsDream | 来源:发表于2016-07-06 23:42 被阅读12次

触摸事件,有屏幕捕捉到的用户对屏幕的操作(点击,双击,长按,滑动,捏合,)

APP中使用最多的就是触摸事件,基本空间都封装了触摸方法。
从下面的几个代理方法中可以获取触摸状态,并且做出交互。
下面的代码是对一个基础控件的一个封装,改变中心点

//触摸开始
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    //冲突,要添加原来自带的手势
    [super touchesBegan:touches withEvent:event];
    //获取触摸对象
    UITouch *touch = [touches anyObject];
    //记录触摸开始的位置
    self.startPoint = [touch locationInView:self];
}
//触摸移动
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [super touchesMoved:touches withEvent:event];
    //计算手指移动距离
    UITouch *touch = [touches anyObject];
    //手指现在的位置
    CGPoint currentPoint = [touch locationInView:self];
    //计算x,y的差值
    CGFloat xChange = currentPoint.x - self.startPoint.x;
    CGFloat yChange = currentPoint.y - self.startPoint.y;
    //改变中心点
    self.center = CGPointMake(self.center.x + xChange, self.center.y + yChange);
    //打印坐标点
    NSLog(@"移动%@", NSStringFromCGPoint(self.center));
}
//触摸结束
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [super touchesEnded:touches withEvent:event];
    NSLog(@"结束%@", NSStringFromCGPoint(self.center));
}

运动事件,由加速计捕捉到的用户操作(典型的是:微信摇一摇)(计步)

一般是通过晃动,在代理方法中获取摇晃状态,进行交互,最典型的就是微信摇一摇,下面的代码是根据晃动随机的改变界面颜色

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    NSLog(@"摇晃开始");
} 

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    NSLog(@"摇晃结束");
    self.view.backgroundColor = [UIColor colorWithRed:arc4random() % 256 / 255.0 green:arc4random() % 256 / 255.0 blue:arc4random() % 256 / 255.0 alpha:arc4random() % 256 / 255.0];
}

- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    NSLog(@"摇晃取消");
}

遥控事件,例如耳机线控,蓝牙,遥控器
这种不在这里多做解释,有兴趣的读者可以查找资料

相关文章

  • 事件---触摸、运动、遥控

    触摸事件,有屏幕捕捉到的用户对屏幕的操作(点击,双击,长按,滑动,捏合,) APP中使用最多的就是触摸事件,基本空...

  • iOS —— 触摸事件传递及响应与手势

    iOS 的事件分为三种,触摸事件(Touch Event)、加速器事件(Motion Events)、远程遥控事件...

  • iOS响应链

    概念: 1 iOS有四大事件:触摸事件,运动事件,远程控制事件,3Dtouch事件。 我们重点介绍触摸事件。触摸事...

  • iOS 触摸事件的处理层次及原理

    iOS 事件包括:运动事件、远程控制事件、触摸事件。 其中触摸事件的响应流程是:当手指触摸屏幕时,会产生一个事件,...

  • 事件层级原理 响应链

    iOS事件 运动事件,远程控制事件、触摸事件 触摸事件 事件传递的顺序 当点击红色的时候 打印为 事件传递的方法 ...

  • 【转】(六)IOS手势和触摸的用法

    一、事件 1、在iOS上,事件有多种形式 1)触摸事件2)运动事件3)远程控制事件 2、UIView不接收触摸事件...

  • iOS--事件、响应者链和手势

    一、事件 1、在iOS上,事件有多种形式 1)触摸事件 2)运动事件 3)远程控制事件 2、UIView不接收触摸...

  • iOS中三大类事件

    iOS中的事件可以分为3大类型: 1、触摸事件2、加速计事件(运动事件)3、远程控制事件 一:触摸事件 // 一根...

  • 事件响应链

    概述 iOS用户的事件分为3类,分别是:触摸屏幕、晃动设备、通过遥控设施控制设备 触屏事件(Touch Event...

  • Android 事件

    事件分为按键事件分发,触摸事件分发,还有轨迹球事件,轨迹球已经被淘汰,按键事件分发主要是在TV上,使用遥控器做按键...

网友评论

      本文标题:事件---触摸、运动、遥控

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