Swift - 如何将viewForAnnotation用于简单的圆角图像?

时间:2016-11-30 14:17:46

标签: ios swift mkmapview mkannotationview

我想创建基本的配置文件图像注释而不是默认注释引脚,但我不知道在这种情况下如何使用viewForAnnotation。

有没有办法创建像tableView header-footer视图这样的xib文件?或者简单地创建它的最佳选择是什么。

如果有人会解释这些可能的方法,我将如何使用viewForAnnotation。这会很棒。

1 个答案:

答案 0 :(得分:1)

我没有看到太多的努力,所以我倾向于不回答,但是你走了。

创建一个xib,然后进行设置。创建一个继承自UIView

的类

将该课程添加到视图中。enter image description here



将文件所有者添加为处理Map / Annotations的ViewController。 enter image description here



在此处设置视图和您可能要添加的任何内容。将您的插座连接到您创建的View类。然后在您指定为文件所有者的文件中:

//create view in code from xib
let annotation = Bundle.main.loadNibNamed("XibFileName", owner: self, options: nil)!.first as? AnnotationClassName

//setup view
annotation.randomLabelOrPropertyOrDelegate = theValueYouWantToAssignItToSetupTheView

//assign the view
viewForAnnotation = annotation

最后要考虑的是注释的大小。如果将imageView约束到Xib主视图的边缘,则注释将是图像的大小。另一种选择是自己设置框架,尽管xib文件中的约束必须允许它具有给定的框架。这将是这样做的

annotation.frame = CGRect(x: 0, y: 0, width: desiredWidth, height: desiredHeight)