在 map 上的某个点注册了长按后,我希望弹出一个文本字段,这样我就可以将输入设置为在该点放置的图钉的标题。我该怎么做呢? 这是我的代码,当前注册了长按并放下了一个引脚,一切正常!我不确定如何打开文本字段并获取用户输入
func DropPin(gestureRecognizer:UIGestureRecognizer) {
if gestureRecognizer.state == .Began {
var point:CGPoint = gestureRecognizer.locationInView(self.Map)
var pinLoc: CLLocationCoordinate2D = self.Map.convertPoint(point, toCoordinateFromView: self.Map)
let x = CustomAnnotation(coordinate: pinLoc, title: "Pin", subtitle: "Pin", imageName: "TouchPin")
self.Map.addAnnotation(x)
}
}
最佳答案
有多种方法可以执行此操作,但您可以选择两种方法之一。
在您的 View 中,您添加一个文本字段,用户在放下图钉之前在其中设置标题。但这可能不直观或看起来很糟糕(例如,如果您需要全屏 map )。
所以,我建议是解雇 UIAlertController里面有一个文本字段。 Here is an example你如何能做到这一点。 你要么:
- 创建注释
- 将其添加到 map
- 出现警告
- 用户输入名称(将其保存在某处)
- 您检索最后添加的注释
- 您可以使用之前输入的名称设置其标题
或者:
- 您检测到长按
- 出现警告
- 用户输入名称(将其保存在某处)
- 使用之前输入的名称创建注释
- 将其添加到 map
这些只是 2-3 个示例。你可能会想到别的东西:)
关于swift - 在 Swift 中使用文本字段设置 MKAnnotation 的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28720279/