爲MKAnnotationView
的文件說,這個關於其setSelected:animated:
方法(和它selected
屬性類似的東西):
你不應該直接調用此方法。
相反,使用MKMapView
方法selectAnnotation:animated:
。如果您在didAddAnnotationViews
委託方法中調用它,則可以確保註記視圖已準備好顯示標註,否則調用selectAnnotation
將不會執行任何操作。
例如:
-(void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
for (MKAnnotationView *av in views)
{
if ([av.annotation isKindOfClass:[MKUserLocation class]])
{
[mapView selectAnnotation:av.annotation animated:NO];
//Setting animated to YES for the user location
//gives strange results so setting it to NO.
return;
}
}
}
謝謝,這工作就像一個魅力。順便說一下,如果使用動畫,關於奇怪結果的評論是專注的。在我的應用程序中,動畫會導致用戶位置重置爲北極(粗略)。沒有動畫,事情按預期工作。 – Mike 2012-01-12 23:07:11