为什么只有一个UIEvent被创建用于许多单独的触摸?

问题描述 投票:3回答:3

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

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

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

如果用一根手指触摸,将只创建一个UITouch对象,并且UITouch对象将在不同阶段更新。

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

这是为什么?我在哪里误解了什么吗?

ios cocoa-touch events uitouch uievent
3个回答
3
投票

事件是程序检测到的可由程序处理的动作或事件。该事件可以是触摸事件,动作事件或远程控制事件。简单地说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

我希望它会有所帮助。


1
投票

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


© www.soinside.com 2019 - 2024. All rights reserved.