2012-03-08 84 views
0

我們可以在大於顯示的項目矩形的矩形中點擊NavigationItem。
我知道UINavigationItem不是UIView的子類,但Accessibility Inspector告訴我它的特點是Button。我很困惑。

當我們觸摸一個按鈕但沒有擡起,然後將手指移動到按鈕外,按鈕仍然保持聯繫,這是如何工作的?

我想知道響應者鏈在這種情況下的工作方式。
1.當我們觸摸它時,按鈕如何成爲第一響應者。
2.按鈕怎麼可能知道我是否將手指放在它的外面。
3.響應者鏈在整個過程中看起來像什麼?

謝謝...如何在視圖之外獲取觸摸事件

回答

0

initWithCustomView:創建cuestom UINavigationItem並通過在定製UIView其中hitTest:withEvent:被覆蓋與較大的觸摸區域迴歸自我。

+0

謝謝。 UINavigationItem比我想象的要複雜得多。但是選擇器hitTest:withEvent:就是我正在尋找的東西。我認爲pointInside:withEvent:是我們應該修改的方法,以讓我的自定義視圖或控件具有更大的響應區域。 – Wot 2012-03-09 09:39:46

0

當你觸摸按鈕或其他東西時,它就成爲響應者。而且,無論您的手指位於何處,手指離開屏幕之前它都將成爲觸摸事件中唯一的響應者。 您將在此處獲得詳細信息: https://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009541-CH1-SW1

+0

我明白了。直到touchesEnd:withEvent:發生時,該按鈕始終是第一個響應者,並且touchesMoved:withEvent:會首先發送到按鈕。 – Wot 2012-03-09 09:35:12