我有MKMapView
。要更改显示的区域,请使用
[self.mapView setRegion:region animated:YES];
奇怪的是,在模拟器上,区域会随着动画而改变,但在设备上,更改是立即的,而不是动画。
我在地图上长时间点击后更改了区域...
这种行为让我发疯,我无法解决它...... 感谢...
答案 0 :(得分:1)
您需要使用以下代码减慢setRegion
[self performSelector:@selector(setMapRegion) withObject:nil afterDelay:3.0];
-(void) setMapRegion
{
[self.mapView setRegion:region animated:YES];
}
答案 1 :(得分:1)
如果您在设备和iOS 6+上加载地图,您将会遇到一些延迟,直到加载图块为止,所以最好的办法是尝试延迟区域更改。
即使您设置了动画,地图也没有响应,它也不会显示给您,它看起来似乎没有制作任何动画。
答案 2 :(得分:0)
MKMapView
就会调用其委托方法mapViewDidFinishLoadingMap:
。你应该在那里打电话给setRegion:animated:
。