iOS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS相关的知识,希望对你有一定的参考价值。

iOS开发UI篇—响应者链条

一、触摸事件处理的详细过程

用户点击屏幕后产生的一个触摸事件,经过一些列的传递过程后,会找到最合适的视图控件来处理这个事件

找到最合适的视图控件后,就会调用控件的touches方法来作具体的事件处理

touchesBegan…

touchesMoved…

touchedEnded…

这些touches方法的默认做法是将事件顺着响应者链条向上传递,将事件交给上一个响应者进行处理

 

二、响应过程

 一次完整的触摸事件的传递响应的过程

 UIAppliction --> UIWiondw -->递归找到最适合处理事件的控件-->控件调用touches方法-->判断是否实现touches方法-->没有实现默认会将事件传递给上一个响应者-->找到上一个响应者

 

响应者链条有什么用?

 可以让一个触摸事件发生的时候让多个响应者同时响应该事件

1 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
2 
3 {
4 
5     [super touchesBegan:touches withEvent:event];
6 
7     NSLog(@"%@" , self.class);
8 
9 }

 

以上是关于iOS的主要内容,如果未能解决你的问题,请参考以下文章