我需要知道是否由于缩放或平移而发生了regionWillChangeAnimated。
通过跟踪旧的区域跨度并与新的区域跨度进行比较,以查看是否发生了缩放,我能够为regionDidChangeAnimated弄清楚这一点。
regionWillChangeAnimated的问题在于在区域更改之前调用了它,因此我无法知道区域范围。
也许还有另一种方法可以解决这个问题?
谢谢。
最佳答案
您必须将地图的当前跨度与mapView:regionWillChangeAnimated:
中的前一个跨度进行比较,在缩放或滚动过程中,该跨度会被多次调用。
您可以使用breadcrumb sample project中的代码:MKZoomScale currentZoomScale = (CGFloat)(map.bounds.size.width / map.visibleMapRect.size.width);