zoukankan      html  css  js  c++  java
  • 事件的基本概念

    用户在使用App的过程中会产生各种事件:

    • 触摸事件(手势与屏幕交互)
    • 加速计事件(摇一摇)
    • 远程控制事件(耳麦)

    只有继承自UIResponder的对象才能接受并处理事件,这类对象称为响应者对象

    • UIApplication
    • UIViewController
    • UIView
    • ...

    产生相应交互时,系统会自动调用相关事件

    • 触摸:touchesBegan:
    • 移动:touchesMoved:
    • 离开:touchesEnded:
    • 系统事件打断触摸:touchesCancelled:

    UITouch对象

    • 作用:保存了触摸的相关信息
    • 通过相应属性与方法获取

    UIEvent对象

    • 事件对象,记录了事件产生的时刻和类型
    • 还提供了相应方法可以获得在某个View上面的触摸对象UITouch

    实现View随手指拖拽而移动

    -(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
    {
        //0.获取UITouch对象
        UITouch *touch = [touches anyObject];//当前只有一个UITouch对象,可以使用anyObject
        //1.获取手指当前触摸点
        CGPoint curP = [touch locationInView:self];
        //2.获取手指上一个触摸点
        CGPoint preP = [touch previousLocationInView:self];
        //3.计算偏移量
        CGFloat offsetX = curP.x - preP.x;
        CGFloat offsetY = curP.y - preP.y;
        //4.修改View的位置
        //MakeTranslation:会清空上一次的形变
        //self.transform = CGAffineTransformMakeTranslation(offsetX, 0);
        self.transform = CGAffineTransformTranslate(self.transform, offsetX, offsetY);
    }
    
  • 相关阅读:
    Broadcom 43228 Kali Linux Ubuntu
    linux 栈空间查看和修改
    mininet 操作命令
    linux shell note
    进程与线程的区别
    JAVA基础--JAVA 集合框架(泛型、file类)
    HashMap的实现原理
    Java 流(Stream)、文件(File)和IO
    总结接口和抽象类的异同
    Java 泛型
  • 原文地址:https://www.cnblogs.com/ShaRuru/p/5100468.html
Copyright © 2011-2022 走看看