我想创建基本的配置文件图像注释而不是默认注释引脚,但我不知道在这种情况下如何使用viewForAnnotation。
有没有办法创建像tableView header-footer视图这样的xib文件?或者简单地创建它的最佳选择是什么。
如果有人会解释这些可能的方法,我将如何使用viewForAnnotation。这会很棒。
答案 0 :(得分:1)
我没有看到太多的努力,所以我倾向于不回答,但是你走了。
创建一个xib,然后进行设置。创建一个继承自UIView
的类将文件所有者添加为处理Map / Annotations的ViewController。
在此处设置视图和您可能要添加的任何内容。将您的插座连接到您创建的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)