iOS中的事件处理流程

    //1.触摸事件
    //事件触摸开始
//  UITouch对象是和手指相关的。表示和手指的个数相等。
    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        
        print("手指开始触摸")
        /*
            发生触摸事件后,系统会把事件加入UIApplication管理的队列中。并将事件分发处理,先发送给主窗口,主窗口会在视图的层次结构中找一个最适合的视图来处理事件。事件的传递是从父控件传递到子控件。
         判断自己可否接受事件,如果可以判断触摸点是否在自己身上。如果触摸点也在自己身上。
         从后向前遍历子控件,重复上述步骤。如果子控件也满足上面的条件接着寻找。否则自己处理
         
         touch 事件默认的是向上抛出,但是只要重写了这些方法就相当于不执行默认,如果调用
         super方法就是把事件交给任务链上一级处理,如果当前的view是控制器的 view,上一级就是控制器。
         如果不是控制器上一级就是父视图。
         
         视图结构的最顶级视图不能处理会交给window对象处理,处理不了会交给UIAppliacation对象。
         再不行就被丢弃。
         
        */
    }
    //结束
    override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
        
        print("手机结束")
    }
    //正在触摸
    override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
    
        print("移动")
    }
    //取消了。
    override func touchesCancelled(touches: Set<UITouch>?, withEvent event: UIEvent?) {
        
        
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值