2009-09-16 30 views
10

Gần đây tôi đã xem qua số this website và tôi đã cố gắng thêm vào nút xem cuộc gọi của tôi (từ hình ảnh).Thêm nút xem phụ kiện vào MKMapView, hãy gọi chú thích?

Mã trên ví dụ trang web chỉ hoạt động tốt, nhưng khi tôi cố thêm cùng một mã vào dự án của mình, tôi không nhận được kết quả tương tự.

Rõ ràng là điều tôi đã bỏ lỡ nhưng tôi dường như không thể làm việc này!

Đây là mã của tôi cho chú thích:

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

    UIButton *advertButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    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; 
} 

Bất kỳ trợ giúp sẽ được đánh giá cao! :)

+0

Thật không may, Liên kết bạn cung cấp là chết –

Trả lời

4

Xin lỗi để trả lời câu hỏi của riêng tôi nhưng điều này đã được giải quyết bằng cách thiết lập các đại biểu của MKMapView để ViewController. Phew, đã cho tôi một thời gian để tìm ra điều đó và nó rất đơn giản !!

15

Anh chàng đó đang sử dụng hình ảnh tùy chỉnh để bắt chước tiết lộ chi tiết. Bạn thực sự có thể được tiết lộ chi tiết tiêu chuẩn khá dễ dàng:

[UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
+0

Ah cảm ơn, luôn luôn hữu ích để làm điều như thế nào họ có nghĩa là phải được thực hiện :) –

11

Thay vì thiết lập các mục tiêu như bạn đã làm ở đây:

[advertButton addTarget:self action:@selector(showLinks:) forControlEvents:UIControlEventTouchUpInside]; 

Bạn có thể sử dụng các đại biểu mặc định:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control 
Các vấn đề liên quan