2010-11-24 13 views
1

Ist es möglich, eine Sicht mit einem MKMapview und einer anderen Unteransicht zu erstellen. Insbesondere habe ich eine Map-Ansicht und ich habe versucht, eine zweite Unteransicht hinzuzufügen (zum Superview, nicht die MKMapView.) Das Problem ist, dass während beide Ansichten zu sehen sind berührt die UIView, die nicht die MKMapView ist, zu die Karte. Ich habe sogar versucht, die Karte so zu verschieben, dass sie sich nicht überschneidet, aber der andere UIView findet sich relativ zur Karte und nicht zum Fenster.Erstellen einer Sicht mit einer MKMapView und einer touchbaren Untersicht

Eine zusätzliche Kuriosität ist, dass der Code auf dem Simulator funktioniert, aber nicht auf einem Testgerät, das 3.1.3 ausgeführt wird. Könnte das ein Problem mit der Version 3.1.3 von MKMapView sein oder nur eine Eigenart im Simulator?

Mein Code ist

combinedView = [[UIView alloc] initWithFrame:self.view.frame]; 

self.awView = [[AdWhirlView alloc] init]; 
awView = [AdWhirlView requestAdWhirlViewWithDelegate:self]; 
self.awView.delegate = self; 

[combinedView addSubview:awView]; 

mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0,50,320,430)]; 
mapView = (MKMapView*)self.view; 
mapView.delegate = self; 
//[self.view insertSubview:mapView atIndex:0]; 

[combinedView addSubview:mapView]; 

//mapView.showsUserLocation = YES; 
// Create a location coordinate object 
CLLocationCoordinate2D coordinate; 

coordinate.latitude = 40.1; 
coordinate.longitude = -76.30575; 

// Display map 
mapView.region = MKCoordinateRegionMakeWithDistance(coordinate, 40000, 40000); 

[combinedView bringSubviewToFront:awView]; 

Vielen Dank für jede Beratung.

Antwort

0

Mit AdWhirlView nicht vertraut, aber ist es möglich, dass Sie auch einen Rahmen dafür setzen müssen? CGRectMake(0,0,320,50); oder etwas?

Andernfalls möchten Sie möglicherweise mit den AutoresizeMasks der beiden Ansichten spielen. Ich weiß sicher, dass Sie ein MKMapView mit Geschwisteransichten haben können, und alle funktionieren gut.

+0

Danke für den Vorschlag. Ich habe nach dem Alloc einen setFrame hinzugefügt (\t [awView setFrame: CGRectMake (0.0, 0.0, 320.0, 50.0)];), aber die Berührungen werden immer noch nicht abgefangen, sondern durchlaufen. Ich weiß, dass iAd auf iOS mit MKMapView funktioniert, deshalb frage ich mich, ob es ein OS 3 Problem ist. – LancDec

Verwandte Themen