MonoTouch MapKit - σχόλια - προσθήκη ενός κουμπιού για να φούσκα

ψήφοι
7

Όποιος γνωρίζει αν υπάρχει ούτως ή άλλως για να πάρει ένα κουμπί σε ένα σχολιασμό;

Θα ήθελα η θέση για να είναι επιλέξιμος - και έτσι μπορείτε να πείτε .. επιλέξετε τη θέση και να πάρει όλα τα γεγονότα σε αυτή τη θέση, κάνοντας κλικ στο κουμπί.

Είναι δυνατόν?

w: //

Δημοσιεύθηκε 02/03/2010 στις 18:19
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
13

Εδώ είναι ο κώδικας που χρησιμοποιείται για σχολιασμό μου, περιλαμβάνει ένα κουμπί στη δεξιά πλευρά της φούσκας. Μπορείτε να ορίσετε μια IBAction να προωθήσει μια νέα άποψη πάνω στη στοίβα για να εμφανίσετε ό, τι θέλετε

- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
{
    MKPinAnnotationView *pinAnnotation = nil;
    if(annotation != mapView.userLocation) 
    {
        static NSString *defaultPinID = @"myPin";
        pinAnnotation = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
        if ( pinAnnotation == nil )
            pinAnnotation = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];

        pinAnnotation.canShowCallout = YES;

        //instatiate a detail-disclosure button and set it to appear on right side of annotation
        UIButton *infoButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        pinAnnotation.rightCalloutAccessoryView = infoButton;

    }

    return pinAnnotation;
}
Απαντήθηκε 02/03/2010 στις 20:39
πηγή χρήστη

ψήφοι
5

Απλά βοήθησε κάποιος άλλος με αυτό το στόχο c, αλλά είμαι σίγουρος ότι η ιδέα είναι η ίδια με μονο. Θα πρέπει να δημιουργήσετε μια προσαρμοσμένη MKAnnotationView αντικείμενο και να παρακάμψετε το GetViewForAnnotation (viewForAnnotation σε obj-γ) μέθοδος της κατηγορίας MKMapViewDelegate σας ... δείτε το άλλο θέμα .

Όταν δημιουργείτε προσαρμοσμένα σας MKAnnotationView έχει αντιρρήσεις είναι βασικά μια UIView γίνεται για χάρτη σχολιασμούς ... μπορείτε να προσθέσετε απλά το κουμπί σας και άλλες πληροφορίες στην προβολή και θα εμφανίζονται όταν ο χρήστης πατήσει το σχολιασμό.

Εδώ μερικά τραχιά κώδικας για τη μέθοδο εκπρόσωπος:

public override MKAnnotationView GetViewForAnnotation(
                                         MKMapView mapView,NSObject annotation) {
      var annotationId = "location";
      var annotationView = mapView.DequeueReusableAnnotation(annotationId);
      if (annotationView == null) {
         // create new annotation
         annotationView = new CustomAnnotationView(annotation, annotationId);
      }
      else {
         annotationView.annotation = annotation;
      }
      annotation.CanShowCallout = true;
      // setup other info for view
      // ..........

      return annotationView;
   }
}
Απαντήθηκε 02/03/2010 στις 18:30
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more