这是一个示例自定义标注,我希望得到类似的风格.我正在考虑从MKAnnotation继承,但我失去了如何启动它,我不知道标注的设计是否可以被覆盖.
有关如何使用ui控件实现此自定义标注的任何想法?
编辑:这是我的代码来自类似的StackOverflow答案:
- (MKAnnotationView *)mapView:(MKMapView *)mapview viewForAnnotation:(id <MKAnnotation>)annotation { if ([annotation isKindOfClass:[MKUserLocation class]]) return nil; static NSString* AnnotationIdentifier = @"AnnotationIdentifier"; MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationIdentifier]; if(annotationView) return annotationView; else { UIImage *img = [UIImage imageNamed:@"default_thumb.png"]; MKAnnotationView *annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier]; annotationView.canShowCallout = YES; annotationView.image = img; annotationView.draggable = YES; /* // change left accessory view button with image UIImageView *leftAccView = [[UIImageView alloc] initWithImage:img]; annotationView.leftCalloutAccessoryView = leftAccView; //include a right button to show more info UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; [rightButton addTarget:self action:@selector(calloutSubMenu:) forControlEvents:UIControlEventTouchUpInside]; [rightButton setTitle:annotation.title forState:UIControlStateNormal]; annotationView.rightCalloutAccessoryView = rightButton; */ return annotationView; } return nil; } // Customize accessory view - (void)mapView:(MKMapView *)mapview annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control { [mapview deselectAnnotation:view.annotation animated:YES]; PopOverCallout *popOverCallout = [[PopOverCallout alloc]init]; UIPopoverController *popOver = [[UIPopoverController alloc] initWithContentViewController:popOverCallout]; self.annotationPopoverController = popOver; popOver.popoverContentSize = CGSizeMake(500,500); [popOver presentPopoverFromRect:view.bounds inView:view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; }
该
(void)mapView:(MKMapView *)mapview annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
触摸引脚时应该调用以显示标注权限吗?但是会发生一个空白的常规标注.我可能做错了什么?
顺便说一句:UIViewController子类只在它的XIB上有一个标签,几乎是空白的.