MKMapView setRegion:Animated:在模拟器上工作,但不在iOS6设备上工作

时间:2013-07-04 13:18:45

标签: iphone ios ios6 mkmapview

我有MKMapView。要更改显示的区域,请使用

[self.mapView setRegion:region animated:YES];

奇怪的是,在模拟器上,区域会随着动画而改变,但在设备上,更改是立即的,而不是动画。

我在地图上长时间点击后更改了区域...

这种行为让我发疯,我无法解决它...... 感谢...

3 个答案:

答案 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: