3

我正在学习iOS的触摸事件机制。

从文档中我了解到,UIEvent第一次触地时会创建一个对象,它会一直存在到最后一次触地,并且它将包含UITouch该期间创建的所有对象。

但在我的测试中,我发现UIEvent在应用程序的整个生命周期中,视图中只创建了一个UITouch对象,它包含的对象数量取决于有多少手指触摸。

如果您用一根手指触摸,则只会UITouch创建一个对象,并且该UITouch对象将分阶段更新。

UIEvent我的意思是我的测试中的表示与文档的描述不同:当发生许多不同的触摸时,只有一个对象。

这是为什么?我在任何地方误解了什么吗?

4

3 回答 3

2

事件是由程序检测到的可以由程序处理的动作或事件。事件可以是触摸事件、运动事件或远程控制事件之类的任何事件。简直UITouch也是 的一部分 UIEvent。UITouch 可以生成由程序处理的事件。程序使用事件感知触摸。

有关您在以下链接中获得的更多详细信息, http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009541

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIEvent_Class/Reference/Reference.html

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITouch_Class/Reference/Reference.html

http://en.wikipedia.org/wiki/Event_%28computing%29

我希望它会有所帮助。

于 2013-06-28T04:14:41.667 回答
1

我遇到了同样的问题。真的让我很困惑,内存地址相同的UIEvent对象一次又一次出现——。据我了解,每次多点触控序列发生时,都会创建一个 UIEvent 来表示它。我倾向于这样想:每次只有一个多点触控序列发生,所以只有一个 UIEvent 对象可以在应用程序的整个生命周期中代表所有这些。^ ^

于 2018-03-04T09:00:06.657 回答