我有一個地圖查看視圖中的一個nib文件與委託設置爲文件的所有者和出口設置爲IBOutlet MKMapView * mapView;MapView是首先在iOS應用程序中的對象
我遇到的問題是地圖高於所有其他對象。如果我添加一個UIView,你不會看到它,因爲它在地圖下面。
任何想法爲什麼會發生這種情況?我之前沒有這個問題
謝謝。
我有一個地圖查看視圖中的一個nib文件與委託設置爲文件的所有者和出口設置爲IBOutlet MKMapView * mapView;MapView是首先在iOS應用程序中的對象
我遇到的問題是地圖高於所有其他對象。如果我添加一個UIView,你不會看到它,因爲它在地圖下面。
任何想法爲什麼會發生這種情況?我之前沒有這個問題
謝謝。
的答案很簡單,你需要添加你作爲一個子視圖到您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。
爲什麼要爲mkmapview添加標籤或任何控件,您可以改用它的代理來添加疊加層或註釋。 此外,如果你的問題是,地圖視圖遍佈屏幕,然後設置其框架。
如果有其他情況,請更清楚地解釋您的問題。
根據我們的討論,你可以使用函數: -
[self.view bringSubViewToFront:yourView];
我不會。那只是一個例子。我實際上有一個uiview,通過分段控制在地圖上進行動畫處理。無論哪種方式,由於某種原因,地圖高於一切 – hanumanDev
您可以使用[self.view bringSubviewtoFront:subview] –
最簡單的方法是在界面生成器中更改「Z」順序。選擇視圖或其他UI元素,然後查看編輯器菜單下的排列。在那裏,你會發現
發送給前
發送到備份
發送向前
落後發送
通常,mapview是用於探索地圖的,y會爲其添加控件..不會解決問題 –
@roronoazorro I只是可能已經解決了它 – Vikings