【iOS开发-88】事件传递原理解释哪个控件处理事件以及响应者链条的介绍
2024-08-28 14:05:30
一、触摸事件传递原理
(1)大的方向是:从父控件传递给子控件。
——父控件会先检查自己能否接受事件的处理
——然后再看看触摸在不在自己的范围内
——假设在的话,就遍历子控件。看看有没有合适的子控件能够处理
——假设子控件都不适合,那么久父控件自己来处理。
还有个大的原则是,事件通常是从UIApplication >>> UIWindow >>> 各个控件
二、响应者链条
——找到这个控件后,看这个控件有没有实现touches的began、moved和ended事件。
——假设没有,那么它会找它的父控件,这样依次上推。
——假设这个控件实现了方法,而且还用 [super ...] ,那么父控件和它都能做出处理。所以,能够利用[super...]能够实现让多个控件处理同一个事件。
注意:特殊情况。假设当前view 是控制器的view,那么这个view的上一个响应者就是控制器。
最新文章
- 换个角度看微信小程序[推荐]
- canvas-图片翻转
- Nodejs:简单的脚手架(一)
- eclipse svn插件地址
- Redis配置文件(redis.conf)说明
- python_pycharm介绍1
- Ehcache - hello world
- Google谷歌推出goo.gl缩短网址服务 - Blog透视镜
- 对JS闭包和函数作用域的问题的深入讨论,如何理解JS闭包和函数作用域链?
- python学习笔记3-列表
- Appium环境搭建——安卓模拟器(AVD)调试 2-运行Apk失败点的总结
- C#设计模式之3:观察者模式
- 使用Spring Boot开发 “Hello World” Web应用
- VC++、Win32 SDK、MFC的区别
- linux根文件系统制作,busybox启动流程分析
- mybatis 的查询某个字段的特定位数(模糊查询)
- Vue引用其他组件,但组件某些部分不需要时的简单处理
- 转:介绍shell_notifyicon,SendMessage,CallWindowProc,GetWindowLong,SetWindowLong的用法
- 实现QQ抽屉效果
- 容器基础(八): 使用docker swarm部署程序