我有一个带有多个注释的mapView,其上显示了自定义图像。使用func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView?
如果选择或取消选择注释,目前有此代码可以更改图像的大小:
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
view.frame = CGRect(x: (view.annotation?.coordinate.longitude)!, y: (view.annotation?.coordinate.latitude)!, width: 50, height: 50)
}
func mapView(_ mapView: MKMapView, didDeselect view: MKAnnotationView) {
//code to return it to normal annotation size
view.frame = CGRect(x: (view.annotation?.coordinate.latitude)!, y: (view.annotation?.coordinate.longitude)!, width: 30, height: 30)
}
这样可以正常工作,但我希望为更改设置动画,因为它看起来会更好。当我添加这样的动画代码时:
UIView.animate(withDuration: 0.5, animations: {
view.frame = CGRect(x: (view.annotation?.coordinate.longitude)!, y: (view.annotation?.coordinate.latitude)!, width: 30, height: 30)
})
动画具有从屏幕外对角滑动的注释幻灯片。我试过切换x:和y:或者只是将它们设置为0但似乎都不起作用。
你有什么建议吗?
添加代码我最终用于其他有类似问题的人。感谢qazxsw poi和qazxsw poi
Mannopson