我是 IOS 应用程序开发的新手。我有一个 map View ,当用户点击 MKMapView 时,我想在那里弹出一个文本框,以便用户可以标记该地点。我想出了关于如何处理 map 上的点击事件的部分。但我真的不明白如何在 map 上显示文本框。我想我应该使用叠加层,但我不确定如何将文本框放在叠加层中。有人可以给我示例代码以将文本框放在叠加层中吗?
这是我处理点击事件的代码,这个覆盖显示可能必须进入 if 循环。
-(void)handleTapOnMap:(UITapGestureRecognizer*)sender
{
if (sender.state == UIGestureRecognizerStateRecognized)
{
NSLog(@"Tapped on the map");
return;
}
else {
return;
}
}
最佳答案
如果你想添加自定义覆盖你可以看到这个project on overlays在知乎上
或者,如果您想自己添加叠加层,则必须创建自定义 View 并使用委托(delegate)方法:
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id )overlay
{
yourOverLayView *view = [[[yourOverLayView alloc] initWithOverlay:overlay] autorelease];
return view;
}
您还可以通过 mkmapview tutorial :
关于objective-c - map 叠加层中的文本框/自定义 View 中的文本框以显示在 map 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10613165/