我正在编写自己的地图注释图层,允许注释粘贴在屏幕的一侧(指示屏幕外的某些内容)。它运作良好。我可以添加/删除注释。旋转地图 - >注释如下。捏缩放 - >注释贴在屏幕的一侧。当你放大和缩小时,它们也会成为clustuer和uncluster。
问题是当我执行捏合手势(放大,缩放,缩小或旋转)时,两个手指都不能在MYView(注释)上。
为了让手势完全正常但仍然允许选择注释,我在MyAnnotationsView中进行了过度的现实命中测试。
-(UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
for(UIView *subview in self.subviews.reverseObjectEnumerator){
if(CGRectContainsPoint(subview.frame, point)){
return subview;
}
}
return nil;
}
然后我在MyView
中捕捉到触摸事件-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
[self.delegate aggregateViewTouchesEnded:self];
}
告诉MYAnntationsView注释发生了触摸。然后它可以告诉ViewController。
TLDR;当我捏/旋转时,两个手指都不能在注释上。