我在iOS 5中使用MapKit,在didSelectAnnotationView
之前正确调用了函数viewForAnnotation
。但是,在iOS 6中,didSelectAnnotationView
之后会调用viewForAnnotation
。我该如何解决?
答案 0 :(得分:2)
你确定这是发生了什么吗?我的代码最初引导我得出相同的结论,直到我在其他位置设置断点。
如果您的didSelectAnnotationView
(在某些时候)调用地图视图的addAnnotation
,那么您的日志消息或断点可能会误导您。
iOS5和iOS6之间的区别在于,当使用addAnnotation
时,在iOS5中调用viewForAnnotation
之前会有一段延迟,而在iOS6中它会立即发生。我必须更改代码中的操作顺序(以便最后调用addAnnotation
),但是相同的代码适用于两个版本的iOS。