2011-10-25 21 views
5

Ứng dụng của tôi đặt một đinh ghim trên bản đồ và sau đó chọn hình động của nó bằng cách sử dụng hình động để người dùng có đầu mối trực quan và có thể đọc ngay tiêu đề/phụ đề. Mã sau hoạt động trong cả iOS4 và iOS5, nhưng trong iOS5, chú thích không tự động được chọn trừ khi tôi thay đổi hoạt ảnh thành NO trong phương thức selectAnnotation.MKAnnotation không được chọn trong iOS5

Mọi ý tưởng tại sao?

MapAnnotations *pushpin = [[MapAnnotations alloc] initWithCoordinate:coordinate]; 
pushpin.title = [selectedStation valueForKey:@"name"]; 
pushpin.subtitle = [selectedStation valueForKey:@"address"]; 
[stationMap addAnnotation:pushpin]; 
[stationMap selectAnnotation:pushpin animated:YES]; 

[pushpin release]; pushpin = nil; 

Trả lời

5

Không chắc chắn lý do nó hoạt động trước đó nhưng hoạt ảnh có thể yêu cầu chế độ xem chú thích phải được tạo và sẵn sàng không chắc ngay sau khi thêm chú thích.

Những gì bạn có thể làm là di chuyển vùng chọn sang didAddAnnotationViews đại biểu phương pháp mà nên làm việc trên tất cả các phiên bản iOS:

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views 
{ 
    for (MKAnnotationView *av in views) { 
     if ([av.annotation isKindOfClass:[MapAnnotations class]]) { 
      MapAnnotations *pushpin = (MapAnnotations *)av.annotation; 
      if (_this_pushpin_is_the_one_to_select) { 
       [mapView selectAnnotation:av.annotation animated:YES]; 
       break; //or return; 
      } 
     } 
    } 
} 
+0

Cảm ơn. Họ phải đã thay đổi một cái gì đó trong iOS5 liên quan đến hình động trong chú thích. Những công việc này. Một chút quá nhiều mã cho một điều đơn giản như vậy, nhưng thực hiện công việc. – afterxleep

+2

Để tránh tìm kiếm, bạn có thể giữ lại một chú thích cho chú thích đã chọn dưới dạng một thanh ngang khi bạn thêm nó vào để bạn chỉ cần gọi selectAnnotation trong ủy nhiệm. – Anna

Các vấn đề liên quan