【发布时间】:2013-12-31 08:57:46
【问题描述】:
我到处寻找这个问题的解决方案,但我的情况似乎有所不同。
我有两个视图,具体来说,一个 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;
}
【问题讨论】:
标签: ios events uiview gesture touch-event