【发布时间】:2011-03-14 12:09:47
【问题描述】:
我正在 iphone 中开发一个处理地图的应用程序。我有很多注释。对于这些注释中的每一个,我需要在标注(左附件视图)中加载不同的图像。谁能告诉我如何做到这一点。用户在需要时动态添加注释,并从图库中选择图像以将其添加到特定的注释标注。我可以将图像添加到标注。但无法区分不同的注释
【问题讨论】:
标签: iphone maps mkmapview mkannotation
我正在 iphone 中开发一个处理地图的应用程序。我有很多注释。对于这些注释中的每一个,我需要在标注(左附件视图)中加载不同的图像。谁能告诉我如何做到这一点。用户在需要时动态添加注释,并从图库中选择图像以将其添加到特定的注释标注。我可以将图像添加到标注。但无法区分不同的注释
【问题讨论】:
标签: iphone maps mkmapview mkannotation
在 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 中的单元格一样)。
【讨论】: