【问题标题】:iPhone different images for different calloutsiPhone不同的图像用于不同的标注
【发布时间】:2011-03-14 12:09:47
【问题描述】:

我正在 iphone 中开发一个处理地图的应用程序。我有很多注释。对于这些注释中的每一个,我需要在标注(左附件视图)中加载不同的图像。谁能告诉我如何做到这一点。用户在需要时动态添加注释,并从图库中选择图像以将其添加到特定的注释标注。我可以将图像添加到标注。但无法区分不同的注释

【问题讨论】:

    标签: iphone maps mkmapview mkannotation


    【解决方案1】:

    在 Map 的 viewForAnnotation: 方法中设置 leftCalloutAccessoryView。 leftCallout 是一个 UIView,所以你可以在那里放任何东西。一些示例代码可能如下所示:

            MKAnnotationView *av = [[[MKAnnotationView alloc] initWithAnnotation:annotation
                                                                     reuseIdentifier:@"ReuseMe"] autorelease];
            [av setCanShowCallout:YES]; 
            UIImageView *sfIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"SFIcon.png"]];
            av.leftCalloutAccessoryView = sfIconView;
            [sfIconView release];  
    

    查看 Apple 提供的 MapCallouts 演示代码。它做你想做的事。

    根据评论更新:要更改图像,只需在 initWithImage 中放入新图像。你可以让这条线像

    UIImageView *sfIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[myArrayOfImages objectAtIndex:myIndexVariable]];

    您甚至可以重构从UIImageView 一直到[sfIconView 的行并以这种方式传递图像。 viewForAnnotation: 的代码为每个注释调用一次(就像 UITableView 中的单元格一样)。

    【讨论】:

    • 感谢您快速回答。我已经完成了该教程。我可以将图像添加到标注。但是我想为它们中的每一个添加不同的图像用户从图库中为特定的注释选择一个图像。然后该图像仅针对该注释显示。希望它清楚。请帮忙。
    • 用户还可以在地图上添加新的注释。因此新的图像。
    • 我无法达到结果。我已经包含了它们。我可以知道如何使用您在您的代码中提到的“重用”关键字。
    • @Droidme 在原始问题中发布您的 viewForAnnotation: 代码。另外,添加保存图像的变量,我会帮你修改代码。
    猜你喜欢
    • 1970-01-01
    • 2014-10-27
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多