2010-03-31 129 views
3

我在視圖控制器中使用ScrollviewDelegate協議,但我在該自定義視圖中使用自定義 UIView(UIImageview)觸摸UIScrollview?

由於某種原因,touchMoved未被調用。有沒有人有任何想法,爲什麼這是(不)發生?

回答

7

如果啓用UIScrollView中的滾動功能,則不會將touchMoved事件傳播到滾動視圖內容。如何解決方法取決於您想實現的目標。在我的應用我需要的拖累內UIScrollView一個對象,我的確在contentsView觸摸處理以下爲:

  1. 在的touchesBegan:事件我檢查,如果我拍了拍對象被拖動。如果是 - 然後禁用滾動UIScrollView
  2. 然後當滾動被禁用我的內容視圖開始接收touchesMoved事件,我可以「拖動」我的對象在那裏。
  3. touchesEnded:我重新啓用了滾動。

如果你想更復雜的東西,你可以繼承的UIScrollView並嘗試重寫它的觸摸處理程序(見hitTest:withEvent:法)