2010-11-24 67 views
1

是否可以使用MKMapview和其他子視圖創建視圖。特別是我有一個地圖視圖,我一直試圖添加第二個子視圖(到superview,而不是MKMapView)。問題是,雖然這兩個視圖可以看到任何接觸不是MKMapView的UIView傳遞給地圖。我甚至試圖移動地圖,使它們不重疊,但另一個UIView相對於地圖而不是窗口定位。使用MKMapView和可觸摸的子視圖創建視圖

另外一個好奇的是代碼在模擬器上正常工作,但不在運行3.1.3的測試設備上。這可能是3.1.3版MKMapView的問題,或者只是模擬器中的一個怪癖?

我的代碼是

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]; 

感謝您的任何意見。

回答

0

不太熟悉AdWhirlView,但它可能需要爲此設置一個框架嗎? CGRectMake(0,0,320,50);什麼的?

否則,你可能想玩兩個視圖的autoresizeMasks。我知道肯定你可以有一個MKMapView與兄弟的意見,他們都工作正常。

+0

感謝您的建議。我在alloc後添加了一個setFrame(\t [awView setFrame:CGRectMake(0.0,0.0,320.0,50.0)];)但觸摸仍然沒有被捕獲,但通過。我知道iAd可以在MKMapView上運行,這就是爲什麼我想知道它是否是OS 3的問題。 – LancDec 2010-11-24 20:22:13