MapView是iOS应用程序中的所有对象

时间:2012-05-17 21:25:48

标签: iphone objective-c ios mapkit

我在nib文件的视图中有一个mapView,其中委托设置为文件的所有者,插座设置为IBOutlet MKMapView * mapView;

我遇到的问题是地图高于所有其他对象。如果我添加一个UIView,你就看不到它,因为它在地图下面。

知道为什么会这样吗?我之前没有遇到过这个问题

感谢。

3 个答案:

答案 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元素,然后在“编辑器”菜单下查看“排列”。在那里你会找到

发送到前面

发送回来

发送

向后发送