我已到處搜索此問題的解決方案,但我的案例似乎有所不同。將觸摸事件轉發到另一個視圖,該視圖被接收事件的視圖部分覆蓋
我有兩個視圖,具體來說,一個GMSMapView(來自Google Maps API的地圖視圖)佔據整個屏幕和另一個視圖在地圖頂部(而不是子視圖,但部分覆蓋它)。會發生什麼情況是,當我用第二個視圖頂部的一個手指和地圖頂部的另一個手指捏合時,地圖不會獲得手勢。由於第二個視圖具有較大的透明區域,我還希望如果用一個手指平移那些地圖將獲得手勢(移動),但保持按鈕(非地圖視圖的子視圖)可點擊。
我試圖保持在非地圖視圖的視圖類文件中的地圖視圖參考,並實施則hitTest方法,但在地圖仍然沒有得到任何接觸......非常感謝
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView *hitView = [super hitTest:point withEvent:event];
// If the hitView is THIS view, return the map instead
if (hitView == self)
{
return self.targetView; //the map view
}
// Else return the hitView (as it could be one of this view's buttons):
return hitView;
}