ios - MapKit pin不显示leftCalloutAccessoryView

标签 ios objective-c mapkit mkannotationview

我正在关注 Paul Hegarty 的 iOS 5 版本关于 ios 应用程序开发的讲座,我正在做作业 5。

所以基本上我需要使用 Flickr 提供的数据在 map 上显示一堆图像。

但是,当我尝试放置 UIImageView 时,我得到了引脚工作并显示标题和字幕。作为 leftCalloutAccessoryView ,它不工作。

所以我在 viewDidLoad 中将 map View Controller 设置为其 mapView 的代表。它符合 MKMapViewDelegate协议(protocol)。

我实现了以下两种方法:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation {
    MKAnnotationView *aView = [mapView dequeueReusableAnnotationViewWithIdentifier:@"MapVC"];
    if (!aView) {
        aView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"MapVC"];
        aView.canShowCallout = YES;
        aView.leftCalloutAccessoryView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
    }
    aView.annotation = annotation;
    [(UIImageView *)aView.leftCalloutAccessoryView setImage:nil];
    return aView;
}


- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
    UIImage *image = [self.delegate mapViewController:self imageForAnnotation:view.annotation];
    [(UIImageView *)view.leftCalloutAccessoryView setImage:image];
}

但是,当我单击一个图钉时,它只显示标题和副标题。我不确定发生了什么,因为在这一步基本上我的所有代码都与视频中的示例相似,我不确定我缺少什么。

谢谢你的帮助!

- - - - - - - - - - - - - - - - -更新: - - - - - - - - ------------------

我发现了我的问题。

问题是我是segue进入 mapViewController,我在 prepareForSegue 中添加注释,然而,mapViewIBOutlet用于 Controller ,尚未在 prepareForSegue 中设置,所以基本上我需要更新我的mapView再次将注释传递给 viewDidLoad 中的 Controller ,这确实解决了问题。

希望这将帮助任何有类似问题的人!

最佳答案

我自己解决了这个问题,见更新 有问题的部分。

关于ios - MapKit pin不显示leftCalloutAccessoryView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16888500/

相关文章:

ios - 两个坐标之间的纬度/经度差(以米为单位)?

iphone - 需要来自 CLGeocoder 的坐标多于限制

ios - 垂直滚动 Collection View Inside Table View cell

ios - iOS 中的四位数密码输入/OTP 屏幕

ios - 将 Google Protocol Buffers 与 Xcode 项目集成

ios - 从编程 uibutton 属性访问全局变量

objective-c - 使用 NSAffineTransform 进行 NSPanel 变换

ios - 解析iOS SDK : Dynamic cell height for PFQueryTableViewController based on results from Query

ios - Realm 是否支持模型版本?

ios - 有没有办法在注释 View 层中设置 z-order?