Hi,
ich stehe vor einem Problem finde aber die Lösung nicht. Ich habe einen TabBarController. Dieser zeigt im 3. Tab ein MKMapView an. Das geht auch gut. Annotations werden auch einwandfrei angezeigt. Wenn man dann drauf klickt soll eine XIB geladen werden, da ich einen eigenen View anzeigen möchte. Das habe ich so realisiert:
Alles anzeigen
Nur leider passiert wenn ich den Code ausführe das der komplette View also von ganz oben bis zur TabBar schwarz wird. Wenn ich dann Tabs wechsele und wieder dahin komme sehe ich dann erst den Marker aber FullScreen. Ich habe im Debugger mal geschaut er nimmt die Frames aber nach der Methode wird der View komischerweise FullScreen. Was mache ich denn falsch? Habe ich irgendwo einen Denkfehler?
Viele Grüße
Nils
ich stehe vor einem Problem finde aber die Lösung nicht. Ich habe einen TabBarController. Dieser zeigt im 3. Tab ein MKMapView an. Das geht auch gut. Annotations werden auch einwandfrei angezeigt. Wenn man dann drauf klickt soll eine XIB geladen werden, da ich einen eigenen View anzeigen möchte. Das habe ich so realisiert:
C-Quellcode
- -(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
- if ([view.annotation isKindOfClass:[MKUserLocation class]]) {
- return;
- }
- NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"MarkerAnnotation" owner:self options:nil];
- MarkerAnnotationView *markerAnnotationView = [views objectAtIndex:0];
- MarkerAnnotation *markerAnnotation = view.annotation;
- Marker *marker = markerAnnotation.marker;
- /* Hier setze ich die Daten für den View */
- markerAnnotationView.frame = CGRectMake(0.0f, 0.0f, 300.0f, 340.0f);
- view.frame = CGRectMake(view.frame.origin.x, view.frame.origin.y, markerAnnotationView.frame.size.width, markerAnnotationView.frame.size.height);
- [view addSubview:markerAnnotationView];
- CGFloat spannX = 0.0000000000000001;
- CGFloat spannY = 0.0000000000000001;
- MKCoordinateRegion newRegion = MKCoordinateRegionMake(markerAnnotation.coordinate, MKCoordinateSpanMake(spannX, spannY));
- [mapView setRegion:newRegion];
- }
Viele Grüße
Nils