• 自定义大头针标注泡泡视图无法响应事件


    在使用高德地图sdk开发的时候,需要自定义气泡吹出框,发现气泡添加的点击事件或者button都没响应.

    原因:自定义的气泡是添加到大头针上的,而大头针的size只有下面很小一部分,所以calloutView是在大头针的外面的。
    而 iOS 按钮超过父视图范围是无法响应事件的处理方法。

    解决办法:

    在CustomAnnotationView.m中重写hittest方法:

    - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
        UIView *view = [super hitTest:point withEvent:event];
        if (view == nil) {
            CGPoint tempoint = [self.calloutView.navBtn convertPoint:point fromView:self];
            if (CGRectContainsPoint(self.calloutView.navBtn.bounds, tempoint))
            {
                view = self.calloutView.navBtn;
            }
        }
        return view;
    }

    这里的self.calloutView.navBtn 就是你需要点击的按钮

    亲测可用.

    #付出不亚于任何人的努力#将来的我、一定会感谢现在努力拼搏的自己!
  • 相关阅读:
    SDN第二次作业
    SDN第一次上机作业
    SDN第一次作业
    期末作业验收
    SDN第五次上机作业
    SDN第四次上机作业
    SDN第三次作业
    SDN第三次上机作业
    SDN第二次上机作业
    SDN第二次作业
  • 原文地址:https://www.cnblogs.com/wlffly/p/5688327.html
Copyright © 2020-2023  润新知