2012-05-17 28 views
1

我有一個地圖查看視圖中的一個nib文件與委託設置爲文件的所有者和出口設置爲IBOutlet MKMapView * mapView;MapView是首先在iOS應用程序中的對象

我遇到的問題是地圖高於所有其他對象。如果我添加一個UIView,你不會看到它,因爲它在地圖下面。

任何想法爲什麼會發生這種情況?我之前沒有這個問題

謝謝。

回答

3

的答案很簡單,你需要添加你作爲一個子視圖到您MapView類創建的對象。

例如,下面介紹如何將UILabel添加到MapView。只需在初始化中執行此操作

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // Create the label 
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50, 320)]; 
    label.backgroundColor = [UIColor whiteColor]; 
    label.text = @"I'm on top of the Map!"; 

    // Add the label to the mapView 
    [self.mapView addSubview:label]; 

    // Release the label if you are not using ARC 
    [label release]; 
} 

編輯:請記住,此概念適用於其他對象,例如UISegmentedControl。

+1

通常,mapview是用於探索地圖的,y會爲其添加控件..不會解決問題 –

+0

@roronoazorro I只是可能已經解決了它 – Vikings

3

爲什麼要爲mkmapview添加標籤或任何控件,您可以改用它的代理來添加疊加層或註釋。 此外,如果你的問題是,地圖視圖遍佈屏幕,然後設置其框架。

如果有其他情況,請更清楚地解釋您的問題。

根據我們的討論,你可以使用函數: -

[self.view bringSubViewToFront:yourView]; 
+0

我不會。那只是一個例子。我實際上有一個uiview,通過分段控制在地圖上進行動畫處理。無論哪種方式,由於某種原因,地圖高於一切 – hanumanDev

+1

您可以使用[self.view bringSubviewtoFront:subview] –

1

最簡單的方法是在界面生成器中更改「Z」順序。選擇視圖或其他UI元素,然後查看編輯器菜單下的排列。在那裏,你會發現

發送給前

發送到備份

發送向前

落後發送

相關問題