如何解决CallOutAccessory按钮图像状态
我在标注附件上有一个收藏夹按钮,该开关通过子类化UIButton来直观地工作(此按钮可处理图像开关)。当我四处移动地图时,我假设 重新绘制视图后,切换按钮将(通常会)返回到其原始未切换状态。 有人对这种发展有经验吗?预先感谢。
CallOutAccessory with fave button
解决方法
您可以在地图上的viewForAnnotation
方法中进行处理。假设您已经归类为MKAnnotation
,并且正在使用可重用的MKAnnotationView
。在注释类中添加一个标志,以确定是否选择了注释并保持更新。然后,在您的viewForAnnotation
方法中...
func mapView(_ mapView: MKMapView,viewFor annotation: MKAnnotation) -> MKAnnotationView? {
let annotationView = yourMap.dequeueReusableAnnotationView(withIdentifier: "someIdentifier") as! YourCustomAnnotationClass
if annotation.isSelected {
// Setup your button here
}
return annotationView
}
基本上,如果您使用的是可重用的批注视图,则必须设置类似于集合视图工作方式的视图。每次调用viewFor annotation
时,该代码都会运行,因此,如果您每次都没有正确地手动设置它,或者对单元的重用不小心,则会发生一些奇怪的事情。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。