سؤال

وجئت مؤخرا عبر هذا الموقع ولقد كنت تحاول أن تضيف إلى دعوتي من عرض زر (من الصورة).

والرمز على سبيل المثال المواقع يعمل على ما يرام، ولكن عندما حاولت أن تضيف في نفس رمز لمشروعي أنا لا تحصل على نفس النتائج.

وهناك الواضح أن شيئا لقد غاب ولكن لا أستطيع أن يبدو للعمل هذا من أصل واحد!

وهنا هو رمز لبلدي التأشير:

- (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;
}

وأي مساعدة سيكون موضع تقدير! :)

هل كانت مفيدة؟

المحلول 3

وعذرا للإجابة على سؤالي الخاصة ولكن هذا تم حلها عن طريق تعيين مندوب MKMapView إلى ViewController. تفو، استغرق مني بعض الوقت لهذا الرقم وانها بسيطة جدا!

نصائح أخرى

وهذا الرجل يستخدم صورة مخصصة لتقليد الكشف عن التفاصيل. يمكنك فعلا الحصول على الكشف عن التفاصيل القياسية بسهولة تامة:

[UIButton buttonWithType:UIButtonTypeDetailDisclosure];

وبدلا من تحديد الهدف كما فعلت هنا:

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

ويمكنك استخدام مندوب الافتراضي:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
scroll top