2013-10-31 30 views
0

在UIViews中,下一個響應者默認是其超級視圖。在我的項目中,有一個滾動視圖和一個小型uiview作爲滾動視圖的子視圖。如果我在小視圖中觸摸,我想要滾動視圖不應該移動。讓響應者鏈在子視圖中斷開。如何更改/中斷響應者鏈?

我試圖通過繼承子視圖,並重寫- (UIResponder *)nextResponder方法返回nil。但它沒有效果。

更新: 看來,子視圖根本沒有響應Pan手勢。當我在子視圖中滾動時,- (UIResponder *)nextResponder方法從未調用,但是當我點擊它時,調用該方法。

回答

0

手勢識別器和經典響應器鏈在同一視圖子樹內是相互排斥的。

-nextResponder未被調用,因爲事件正在採取手勢識別路徑而不是響應者鏈路徑。

只需使用手勢識別器在小視圖中執行您嘗試實現的任何事件處理。