ios - 添加 viewForAnnotation 时注释标题不出现

标签 ios swift annotations mkmapview

我添加了这个:

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
    if annotation is MKUserLocation {
        return nil
    }

    let pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "id")

    if let title = annotation.title{
        if title! == "P"{
            pinView.pinTintColor = UIColor.yellow
        }
        else{
            pinView.pinTintColor = UIColor.gray
        }
    }
    return pinView
}

但是当我这样做时,当我点击注释时我再也看不到我的标题了,有什么想法吗?

最佳答案

您需要在 pinView 上添加 canShowCallout。如果 canShowCallout 属性的值为 true,则当用户点击选定的注释 View 时,会显示标准标注气泡。标注使用关联注释对象中的标题和副标题文本。

因此,只需将以下行添加到您的 viewFor 函数中,您就会看到标题。

pinView.canShowCallout = true

关于ios - 添加 viewForAnnotation 时注释标题不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40030339/

相关文章:

objective-c - 自定义 iOS UILocalNotification 声音不播放(可能与 Xcode 更新有关)

html - Swift - 将图像插入 PDF 不再适用于 iOS 13

ios - MFMailComposeViewController 默认为只读模式

ios - iPhone应用程序是否可以使用iPhone 5或更高版本?

swift - 如何枚举 String 类型的枚举?

ios - Swift:如何在单击提交按钮时更改 UIButton 图像

java - 无法解析符号 'Immutable'

ios - 在 Swift 中使用自定义点注释时出现错误

json - Spring 配置 - mvc :annotation-driven, AnnotationMethodHandlerAdapter 和 JSON

swift - 以编程方式更改 NSSplitViewController 中的 View