- (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上设置详细信息披露按钮所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)