【发布时间】:2013-05-23 06:45:45
【问题描述】:
我想知道是否有任何方法可以在MKPinAnnotationView 标注气泡中添加UITextField 和UIButton,然后如果用户单击按钮,它将调用某些方法?
【问题讨论】:
标签: iphone mkmapview mkannotation callouts
我想知道是否有任何方法可以在MKPinAnnotationView 标注气泡中添加UITextField 和UIButton,然后如果用户单击按钮,它将调用某些方法?
【问题讨论】:
标签: iphone mkmapview mkannotation callouts
您可以使用以下代码添加自定义视图而不是 MKAnnotationView..
您可以使用addSubview 属性简单地添加任何控件...
-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
{
MKAnnotationView *customPinView = nil;
if(annotation != mapView.userLocation)
{
static NSString *defaultPinID = @"com.invasivecode.pin";
pinView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if ( customPinView == nil )
customPinView = [[MKAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:defaultPinID];
customPinView.canShowCallout = YES;
//customPinView.animatesDrop = YES;
customPinView.image = [UIImage imageNamed:@"yourImageName"];//write your imagename
// and add UIButton with bellow code
UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[rightButton addTarget:self
action:@selector(ShowStoreDetail:)
forControlEvents:UIControlEventTouchUpInside];
customPinView.rightCalloutAccessoryView = rightButton;here
}
else {
[mapView.userLocation setTitle:@"I am here"];
}
return pinView;
}
希望对你有用……
:)
【讨论】: