大佬教程收集整理的这篇文章主要介绍了iOS:用户位置变为pin,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我得到的:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)Annotation { MKPinAnnotationView *pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:@"pinView"]; if (!pinView && ![Annotation isKindOfClass:[MKUserLOCATIOn class]]) { pinView = [[MKPinAnnotationView alloc] initWithAnnotation:Annotation reusEIDentifier:@"pinView"]; pinView.pinColor = MKPinAnnotationColorRed; pinView.animatesDrop = YES; pinView.canShowCallout = YES; UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; pinView.rightCalloutAccessoryView = rightButton; if (Annotation == self.LOCATIOnZH1) { [pinView setTag:1]; } else if (Annotation == self.LOCATIOnZH2) { [pinView setTag:2]; } else if (Annotation == self.LOCATIOnZH3) { [pinView setTag:3]; } else if (Annotation == self.LOCATIOnLU1) { [pinView setTag:4]; } } else { pinView.Annotation = Annotation; } return pinView; }
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)Annotation { //check Annotation is not user LOCATIOn if([Annotation isEqual:[mapView userLOCATIOn]]) { //bail return nil; } static NSString *AnnotationViewReusEIDentifer = @"map_view_Annotation"; //dequeue Annotation view MKPinAnnotationView *AnnotationView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationViewReusEIDentifer]; if(!AnnotationView) { AnnotationView = [[MKPinAnnotationView alloc] initWithAnnotation:Annotation reusEIDentifier:AnnotationViewReusEIDentifer]; } //set Annotation view properties [AnnotationView setAnnotation:Annotation]; return AnnotationView; }
通过先检查用户位置注释,您可以提前返回nil而不是分配新的MKPinAnnotationView并返回它.
– (MKAnnotationView *)mapView的文档:(MKMapView *)mapView viewForAnnotation:(id< MKAnnotation>)注释状态:
以上是大佬教程为你收集整理的iOS:用户位置变为pin全部内容,希望文章能够帮你解决iOS:用户位置变为pin所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。