objective-c - map 叠加层中的文本框/自定义 View 中的文本框以显示在 map 上

标签 objective-c ios ios5 ios4

我是 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/

相关文章:

objective-c - 如何清除 NSDate 毫秒

objective-c - 什么是完成回调函数? C 或 Objective-C 中的示例?

objective-c - 不使用 XCode 进行 Iphone 开发

iOS 7.1 问题 - 触摸并拖动该选项卡按钮时,选项卡栏图标图像会自动调整大小

iphone - 我可以允许用户在 GPUImage Framework 中放大和缩小吗

ios - 创建跨类的全局对象

iphone - 由于不受信任的证书,无法通过 HTTPS 接收 JSON 请求

ios - 在 PageViewController 中隐藏/显示特定 View Controller 的状态栏

ios - 在 iPad 上使用 Swift UI 禁用 Split View

ios - iPhone 仅在 iPhone 6 及更高版本中重启