【问题标题】:How do I add a button to the subtitle of an MkMapView custom annotation?如何向 MkMapView 自定义注释的副标题添加按钮?
【发布时间】:2010-05-18 22:11:46
【问题描述】:

基本上,我的程序会在地图上显示许多注释。用户点击一个后,它会显示该位置的标题。如何在标题下添加一个按钮,该按钮将显示一个新窗口,其中包含有关该位置的更多信息?我也会满足于屏幕底部的一个按钮,该按钮在选择一个位置之前是灰色的。

【问题讨论】:

    标签: iphone-sdk-3.0 uibutton mkmapview mkannotation


    【解决方案1】:

    在viewForAnnotation方法中,设置一个按钮为callout附件视图:

    annotationView.canShowCallout = YES;
    UIButton *button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    annotationView.rightCalloutAccessoryView = button;
    

    您可以使用 rightCalloutAccessoryView 或 leftCalloutAccessoryView 但documentation 建议在右侧放置一个披露按钮。

    calloutAccessoryControlTapped 方法中响应按钮按下。

    【讨论】:

    • 我是新手,所以当我问这个 viewForAnnotation 方法到底在哪里时,请原谅我。我有三个用于主视图的 .h/.m 文件:AnnotationView、Annotation 和 MainViewController。我应该把它放在哪个文件下?
    • viewForAnnotation 是您在实现 MKMapViewDelegate 协议的类中实现的方法。我假设你这将是 MainViewController。我建议查看 Apple 示例应用 MapCallouts。在那里,viewForAnnotation 的实现与我给出的示例类似(参见 MapViewController.m)。我的答案中的文档链接有一个指向 MapCallouts 的链接,或者您可以在 apple.com 上搜索它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多