【问题标题】:MKMapView annotation click eventMKMapView 注解点击事件
【发布时间】:2012-01-16 11:00:05
【问题描述】:

当我点击图钉时,注释视图会打开并带有详细的披露按钮。
当我触摸详细披露按钮时,下一个视图被调用,当我触摸注释时,我需要相同的功能。

【问题讨论】:

    标签: ios objective-c mapkit


    【解决方案1】:

    MKMapViewDelegate 中有一个委托method,当您选择注释时,此方法将帮助您跟踪选择了哪个注释,然后您可以向任何您想要的选择器发送消息;)。

    mapView:didSelectAnnotationView:
    

    告诉代理它的注释视图之一被选中。

    - (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
    Parameters
    mapView
    

    包含注释视图的地图视图。 看法 选择的注释视图。 讨论

    您可以使用此方法来跟踪注释视图的选择状态的变化。

    可用性 在 iOS 4.0 及更高版本中可用。 宣布于 MKMapView.h

    【讨论】:

    • 您好,我使用这种方法来显示引脚的详细信息。单击图钉后,将打开注释,其中显示有关事件的信息以及详细信息披露按钮。现在,当我触摸详细信息披露按钮时,它会转到下一个视图。但是当我触摸此信息(注释视图)的任何位置时,用户应该能够进入下一个视图。当用户单击它时,我需要一个事件。谢谢你的回答。
    【解决方案2】:

    您可以使用此代码 -

    UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    
    rightButton.tag = annotationIndex;
    
    [rightButton addTarget:self action:@selector(showDetails:) forControlEvents:UIControlEventTouchUpInside];
    
    pinView.rightCalloutAccessoryView = rightButton;
    

    在这个“showDetails”中应该是您的自定义 IBAction,您可以在其中编写您的功能。

    【讨论】:

    • 他要求响应点击注释而不是右附件按钮;)
    猜你喜欢
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    相关资源
    最近更新 更多