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