为什么我的MapKit标注视图如此之小并且没有显示它需要显示的所有内容?

时间:2016-02-19 14:29:12

标签: ios swift mapkit

解决方案我只需要应用约束来使其工作:

let widthConstraint = NSLayoutConstraint(item: customCalloutView, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 200)
        customCalloutView.addConstraint(widthConstraint)
        let heightConstraint = NSLayoutConstraint(item: customCalloutView, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 200)
        customCalloutView.addConstraint(heightConstraint)

我做了一个MapKit集成,最后让我的应用程序显示我的自定义标注视图,但由于某种原因,它很小,并没有显示它应该显示的一切...标题显示正常,但自定义“detailCalloutAccessoryView” (从带有几个标签的定制.xib文件加载,图像视图和按钮)无法正确显示。

这就是我的意思:

Screenshot of issue

为什么我的detailCalloutAccessoryView会被切断?这应该是它的样子:

.xib file

有什么想法吗?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

解决方案我只需要应用约束来使其工作。此代码放在我的viewForAnnotation方法

let widthConstraint = NSLayoutConstraint(item: customCalloutView, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 200)
        customCalloutView.addConstraint(widthConstraint)
        let heightConstraint = NSLayoutConstraint(item: customCalloutView, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 200)
        customCalloutView.addConstraint(heightConstraint)