iOS – 在MKAnnotationView上设置详细信息披露按钮

iOS – 在MKAnnotationView上设置详细信息披露按钮,第1张

概述我的MapViewController中有以下方法: - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation { MKAnnotationView *annotationView = [mapView dequeueReusableAnnotation 我的MapVIEwController中有以下方法:

- (MKAnnotationVIEw *)mapVIEw:(MKMapVIEw *)mapVIEw vIEwForAnnotation:(ID<MKAnnotation>)annotation {    MKAnnotationVIEw *annotationVIEw = [mapVIEw dequeueReusableAnnotationVIEwWithIDentifIEr:@"MapVC"];    if (!annotationVIEw) {        annotationVIEw = [[MKPinAnnotationVIEw alloc] initWithAnnotation:annotation reuseIDentifIEr:@"MapVC"];        annotationVIEw.canShowCallout = YES;        annotationVIEw.leftCalloutAccessoryVIEw = [[UIImageVIEw alloc] initWithFrame:CGRectMake(0,30,30)];        annotationVIEw.rightCalloutAccessoryVIEw = [UIbutton buttonWithType:UIbuttonTypeDetaildisclosure];        // Could put a rightCalloutAccessoryVIEw here    } else {        annotationVIEw.annotation = annotation;        [(UIImageVIEw *)annotationVIEw.leftCalloutAccessoryVIEw setimage:nil];    }    return annotationVIEw;}

我相信它设置正确,但是当我的地图正确地显示我的带有标题和副标题的注释时,但它们没有显示详细信息披露按钮,我错过了什么吗?

另一件事是,在调试时,从不调用此方法,但注释视图显示标题和副标题.

解决方法 很可能没有设置地图视图的委托.

如果没有设置委托或者你没有实现vIEwForAnnotation方法,地图视图将创建一个默认的注释视图,它是一个带有仅包含标题和副标题的标注的红色图钉(除非标题为空白,在这种情况下你是将获得一个引脚,但没有标注).

将地图视图的委托出口连接到文件所有者或在代码中添加此项(例如,在添加注释之前在vIEwDIDLoad中):

mapVIEw.delegate = self;

此外,如果您不使用ARC,请将自动释放添加到alloc行以避免内存泄漏.

总结

以上是内存溢出为你收集整理的iOS – 在MKAnnotationView上设置详细信息披露按钮全部内容,希望文章能够帮你解决iOS – 在MKAnnotationView上设置详细信息披露按钮所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1074007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存