自定义 MKPointAnnotation 的大小

Size of custom MKPointAnnotation

我对自定义 MKAnnotationView 的大小有疑问。 我设置了一个自定义图像,但是当 MKMapView 的缩放改变注释的大小时,没有。 我丢失了注释的默认行为,例如在缩放、调整大小等方面消失。 感谢您的帮助。

我的自定义注释:

class CustomPointAnnotation: MKPointAnnotation {
var pinCustomImageName:String!
var index : Int! }


func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {

    let reuseIdentifier = "pin"
    var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseIdentifier)
    annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseIdentifier)

    annotationView?.canShowCallout = true;
    let customPointAnnotation = annotation as! CustomPointAnnotation

    var image = UIImage(named: customPointAnnotation.pinCustomImageName)
    annotationView?.image = image
    annotationView!.isEnabled = true
    annotationView!.canShowCallout = true
    return annotationView
    }

编辑: 我只想在放大或缩小地图时调整注释视图的大小。当我远离时,注释消失了。

要使注释消失,请使用 displayPriority

 annotationView?.displayPriority = .defaultHigh

static let required: MKFeatureDisplayPriority A constant indicating that the item is required.

static let defaultHigh: MKFeatureDisplayPriority A constant indicating that the item's display priority is high.

static let defaultLow: MKFeatureDisplayPriority A constant indicating that the item's display priority is low. Apple documentation