问题描述
我在我的地图上使用 MKMarkerAnnotations 并希望将它们稍微大一点,因为默认大小使我使用的任何自定义图标都难以看到。
上一个问题的公认答案表明,唯一的方法是通过继承 MKAnnotationView
从头开始构建您自己的 MKMarkerAnnotationView:
Change MKMarkerAnnotationView size
真的可以这样吗?如果是这样,这将是一个拖累,因为我喜欢 MarkerAnnotations 的所有其他“现成”功能。似乎很奇怪,没有办法只覆盖与大小有关的属性。考虑到这一点,我尝试将 MKMarkerAnnotation 子类化并使用以下内容进行处理:
override var annotation: MKAnnotation? {
willSet {
frame.size = CGSize(width: 50.0,height: 50.0)
frame = CGRect(x: 0.0,y: 0.0,width: 50.0,height: 50.0)
bounds.size = CGSize(width: 50.0,height: 50.0)
bounds = CGRect(x: 0.0,height: 50.0)
}
}
并在 mapView 委托中尝试了相同的方法:
func mapView(_ mapView: MKMapView,viewFor annotation: MKAnnotation) -> MKAnnotationView? {
let poiView = POIView(annotation: annotation,reuseIdentifier: "POI")
poiView.bounds.size = CGSize(width: 50.0,height: 50.0)
poiView.frame = CGRect(x: 0.0,height: 50.0)
poiView.bounds.size = CGSize(width: 50.0,height: 50.0)
poiView.bounds = CGRect(x: 0.0,height: 50.0)
}
但是这些都没有任何效果。有没有办法改变大小而不必从头开始重建我自己的 MKMarkerAnnotation?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)