我正在構建的應用程序有一個全屏幕MKMapView
,其他UIView
子類放在它上面,全屏以及完全透明。我希望UIView
子類能夠處理單點觸摸手勢,例如點擊和單指拖動,並忽略其他任何操作。這將允許MKMapView
使用其他方式進行交互,尤其是通過禁用3D功能使用兩根手指進行平移/滾動。iOS - 過濾和轉發子視圖
我在這裏的問題是,的MKMapView不使用touchesXXX:withEvent:
方法的用戶交互。因此,我無法在視圖上的這些方法中檢測觸摸計數並轉發到地圖。同樣,hitTest:withEvent:
方法不能用於確定哪個視圖處理觸摸,因爲那裏的UIEvent
對象返回一組空的觸摸。
我已經考慮讓所有通過視圖觸摸前進,並用手勢識別來處理事件,但我真的需要在覆蓋視圖中的單點觸摸/拖拽到對地圖視圖沒有影響。
有沒有辦法來完成基於觸摸個數這個過濾?或者在地圖視圖中禁用單點觸摸手勢的方法?
請問如果附加單個手指點擊並拖動到識別的MapView自身工作的呢? – Linuxios 2014-10-29 18:50:15
因此,通過替換它們,基本上覆蓋/取消地圖視圖上的現有手勢? – bgoers 2014-10-29 18:52:09
是的。一秒鐘,我在Xcode中查看。 – Linuxios 2014-10-29 18:55:20