【发布时间】:2015-05-15 23:43:29
【问题描述】:
背景
我有一个自定义 UIWindow 实现,它在 sendEvent 方法中发布通知。然后我有一个自定义视图,一旦添加到窗口层次结构中,一旦提到的通知发布(即点击任何地方,无论是否在此视图中,都会删除视图)。最后,我有一个按钮,可以将此自定义视图添加到视图层次结构中。现在的问题是,当我点击这个按钮时,视图被添加到视图层次结构中,但是,由这个点击引起的事件在添加自定义视图之后到达我的自定义 UIWindow sendEvent 方法,从而导致自定义视图添加后立即删除。
问题
我想以某种方式访问当前处于活动状态的任何 UIEvent。这可能吗,如果可以,那怎么做?
【问题讨论】:
-
@matt 这是解释我为什么依赖 sendEvent 的相关 SO 问题:stackoverflow.com/questions/30167843/…
-
@matt 可以有任何数量,这取决于视图。我的自定义视图是一个通用的东西,不关心屏幕上的内容。它唯一关心的是在点击屏幕上的任何内容时立即移除自己,并且这样做不会干扰该点击。
-
@matt 好吧,如果 it 被点击,那么它下面的任何东西都不会被点击,因为点击被吸收了。
-
@matt 我很高兴看到这样的解决方案(假设您的意思是点击将正确突出它应该落入的元素等等)。它也应该适用于滑动等。基本上,我想要的是无论进行什么交互,都应该检测到它,但也应该无缝地转发到预期的屏幕元素。
-
©matt 是的,没关系。
标签: objective-c uikit