我在nib文件的视图中有一个mapView,其中委托设置为文件的所有者,插座设置为IBOutlet MKMapView * mapView;
我遇到的问题是地图高于所有其他对象。如果我添加一个UIView,你就看不到它,因为它在地图下面。
知道为什么会这样吗?我之前没有遇到过这个问题
感谢。
答案 0 :(得分:3)
为什么要在mkmapview上添加标签或任何控件,您可以使用其委托添加叠加或注释。 此外,如果你的问题是mapview来到整个屏幕,那么设置它的框架。
如果有其他情况,请更清楚地解释您的问题。
根据我们的讨论,您可以使用以下功能: -
[self.view bringSubViewToFront:yourView];
答案 1 :(得分:3)
答案很简单,您需要将创建的对象作为子视图添加到MapView中。
例如,以下是如何将UILabel添加到MapView。只需在init
中执行此操作- (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。
答案 2 :(得分:1)
最简单的方法是在界面构建器中更改“Z”顺序。选择视图或其他UI元素,然后在“编辑器”菜单下查看“排列”。在那里你会找到
发送到前面
发送回来
发送
向后发送