Swift 显示附件按钮图像状态
我在callout附件上有一个最喜欢的按钮,该按钮通过子类化UIButton(处理图像切换)在视觉上进行切换。当我移动地图时,我假设 视图被重新绘制时,切换将(通常情况下)返回到其原始未切换状态。 有人有过这种发展的经验吗?提前谢谢Swift 显示附件按钮图像状态,swift,mapkit,mkannotationview,Swift,Mapkit,Mkannotationview,我在callout附件上有一个最喜欢的按钮,该按钮通过子类化UIButton(处理图像切换)在视觉上进行切换。当我移动地图时,我假设 视图被重新绘制时,切换将(通常情况下)返回到其原始未切换状态。 有人有过这种发展的经验吗?提前谢谢 您可以在地图上的注释方法的视图中处理此问题。假设您有子类MKAnnotation,并且正在使用可重用的MKAnnotationViews。在注释类中添加一个标志,以确定注释是否被选中并保持更新。然后,在注释的视图中方法 func mapView(_ mapView:
您可以在地图上的
注释方法的视图中处理此问题。假设您有子类MKAnnotation
,并且正在使用可重用的MKAnnotationView
s。在注释类中添加一个标志,以确定注释是否被选中并保持更新。然后,在注释的视图中
方法
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
时,此代码都会运行,因此如果您每次都不手动正确设置,或者不小心重复使用单元格,可能会发生一些奇怪的事情。非常感谢这为我指明了正确的方向很高兴它有所帮助,请考虑投票或标记正确。我不能,因为我是一个新用户。对不起,伙计。