如何随机显示注释

时间:2015-10-15 05:27:14

标签: ios objective-c iphone annotations

我想在每个图钉上显示不同的注释,我的图像名为“01.png”到“08.png”。 我将整数设置为1~8

的随机数
integer = arc4random() % 8 + 1;

然后设置方法 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation

if(annotation == mapView.userLocation){
    return nil;
}
NSString *identifier = @"Store";

MKAnnotationView *result = (MKAnnotationView*)[mapView dequeueReusableAnnotationViewWithIdentifier:identifier];

if(result == nil){
    result = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
} else {
    result.annotation = annotation;
}

NSString * imageName = [NSString stringWithFormat:@"0%i",integer];

UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",imageName]];
result.image = image;

return result;

但mapView显示相同的注释,每次打开应用程序时都会显示不同的注释。

如何在每个引脚上显示不同的注释?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您必须将随机化放在注释方法中。变量有一个值,直到它被更改,每次读取它时都不会获得新的随机值。