OStack程序员社区-中国程序员成长平台

标题: ios - MKAnnotationView 旋转 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 22:10
标题: ios - MKAnnotationView 旋转

我在显示当前用户位置的 MKMapView 上有一个移动注释。我为该注释设置了我自己的图像,我想旋转它以便您可以看到标题。

viewForAnnotation 委托(delegate)中,我有:

static NSString *planeIdentifier = @"lane";
static NSString *stationIdentifier = @"Station";
NSString *identifier;

if([[annotation title] rangeOfString"lane" options:NSLiteralSearch].location == NSNotFound) {
    identifier = stationIdentifier;
}
else {
    identifier = planeIdentifier;
}

MKAnnotationView *annotationView = (MKAnnotationView *) [aMapView dequeueReusableAnnotationViewWithIdentifier:identifier];
if (annotationView == nil) {
    annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
} else {
    annotationView.annotation = annotation;
}

annotationView.enabled = YES;

annotationView.canShowCallout = NO;
    annotationView.image = [UIImage imageNamed"airPlane.png"];

return annotationView;

调用实例方法的代码如下:

[planeAnnotation setCoordinate:planeCoordinate];
MKAnnotationView* planeView = [self mapView:mapView viewForAnnotation:planeAnnotation];
[planeView setTransform:CGAffineTransformMakeRotation([[[self modele] udpData] getValueFor:HDING_TRUE itemYNAMICS]*(M_PI/180))];

问题是标题永远不会更新,即图像永远不会旋转。

非常感谢任何帮助!

编辑:我尝试为 mapView 上的每个 MKAnnotationView(几百个)设置一个自定义标识符(注释的标题),但我注意到 annotationView 总是 nil,这意味着它实际上并没有从中取出任何东西。我认为这就是它不旋转的原因,因为我没有旋转我在 map 上显示的同一个 MKAnnotationView。



Best Answer-推荐答案


回答我的问题,问题在于我调用了委托(delegate)方法 MKAnnotationView* planeView = [self mapView:mapView viewForAnnotation:planeAnnotation];在改造MKAnnotationView时不调用实例方法MKAnnotationView* planeView = [mapView viewForAnnotation:planeAnnotation];

关于ios - MKAnnotationView 旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11476296/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4