SG1*_*SG1 8 cocoa-touch uitouch ios uievent
在Mac上,人们可以随时mouseUp:通过调用获取鼠标"在事件流之外"的位置(即,即使您没有为其他人订阅任何委托方法)[NSEvent mouseLocation].
iOS上有什么方法可以在不收听的情况下获取当前的触摸事件touchesBegan:吗?
我问,因为至少有一种情况是没有调用touchesBegan:在app启动时,如果触摸已经在进行中,则touchesBegan永远不会被调用.实际上,也没有任何触摸相关的UIEvent方法被称为尽可能接近(sendEvent:显然也不是UIApplication的/ UIWindow ).
我想根据启动时是否正在进行触摸来稍微改变我的应用程序的行为. 有没有办法检测应用程序启动时正在进行的触摸?
这是不可能做到的.原因很简单:触摸事件不属于您的应用.每次触摸都属于某个UI元素(或响应者).如您所知,此元素获取已开始,已移动,已结束,已取消的消息.
在正确编程的应用程序中甚至是这样:所有关于一次触摸的事件都被传递到同一个对象.毕竟,另一个对象如何知道如何处理该事件,以及第一个对象应如何正确完成其预期的行为?
虽然你可以(或者可能,但可能不应该)在你的应用程序中找到解决方法,但是没有办法进行跨应用程序触摸传递.
在Mac上,您可以查询鼠标位置,但在正常的应用程序流程中,在您获得鼠标按键事件之前总会有鼠标按下.
说实话,我认为没有任何理由为什么这需要...哦等等......我可以将我的应用程序图标分成几个区域......不确定它是否已经违反了隐私法,但是,如果你可以知道用户在屏幕上的图标位置.
| 归档时间: |
|
| 查看次数: |
347 次 |
| 最近记录: |