如何在视图外部获取触摸事件

时间:2012-03-08 03:52:00

标签: objective-c ios cocoa-touch

我们可以在比显示的项目矩形更大的矩形中点击NavigationItem 我知道UINavigationItem不是UIView的子类,但是Accessibility Inspector告诉我它的特性是Button。我很困惑。

当我们触摸按钮内部但没有抬起时,然后将手指移到按钮外部,按钮仍然保持联系,这是如何工作的?

我想知道响应者链在这种情况下的剂量是多少 1.当我们触摸按钮时,按钮如何成为第一响应者 2.按钮怎么能知道我是否将手指抬到外面 3.响应者链在整个过程中看起来像什么?

谢谢......

2 个答案:

答案 0 :(得分:0)

使用UINavigationItem创建自定义initWithCustomView:并传入自定义UIView,其中hitTest:withEvent:被覆盖以返回具有更大触摸区域的自我。

答案 1 :(得分:0)

当您触摸按钮或其他时,它会成为响应者。无论您的手指在哪里,它都将成为您触摸事件的唯一响应者,直到您的手指离开屏幕。 您将在此处获得详细信息: https://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009541-CH1-SW1