如何在UIMapView中向引脚添加更多信息

时间:2013-11-20 04:54:06

标签: ios mkmapview

我刚开始为iOS开发,我刚刚获得了我的开发帐户,并开始陷入更困难的事情。好吧无论如何我已经学会了如何添加一个UIMapView以及如何让它在不同的视图之间切换以及如何设置一个小而小的引脚但我想这样做当你看到引脚下降你看到tittle然后在左边有一个你点击的小箭头,它会带你到一个页面,其中包含更多信息,例如如何点击一个按钮,将您带到地图应用程序,并为您提供指向该位置的信息,或者您可以在页面中获得更多信息。基本上,当你搜索一个位置并弹出一堆时,它在iOS上的地图应用程序中看起来如何。所以我的整体问题是如何在地图视图上的drop pin中添加更多信息标签?

1 个答案:

答案 0 :(得分:1)

这可以通过 mapView viewForAnnotation:委托方法来实现。您所要做的就是创建一个按钮并将其指定为 rightCalloutAccessoryView 。示例代码如下所示

- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation{
    MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];
    annView.pinColor = MKPinAnnotationColorGreen;

    UIButton *advertButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    advertButton.frame = CGRectMake(0, 0, 23, 23);
    advertButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
    advertButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;

    //[advertButton setImage:[UIImage imageNamed:@"button_right.png"] forState:UIControlStateNormal];
    [advertButton addTarget:self action:@selector(showLinks:) forControlEvents:UIControlEventTouchUpInside];

    annView.rightCalloutAccessoryView = advertButton;

    annView.animatesDrop=TRUE;
    annView.canShowCallout = YES;
    annView.calloutOffset = CGPointMake(-5, 5);
    return annView;
}

在目标方法 showLinks:中,您可以将导航代码添加到infopage

-(void)showLinks:(UIButton*)sender  {
     //do the stuffs for navigation

}