2

我有一个MKMapView. 要更改我使用的显示区域

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

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

我在地图上长按后更改区域...

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

4

3 回答 3

1

如果您在设备和 iOS 6+ 上加载地图,在加载图块之前您会遇到一些延迟,因此最好的办法是尝试延迟区域更改。

即使您设置了动画,地图也没有响应,它对您来说不会那么清楚,看起来它没有制作任何动画。

于 2013-07-04T13:48:50.600 回答
1

您需要使用以下代码减慢 setRegion

[self performSelector:@selector(setMapRegion) withObject:nil afterDelay:3.0];


-(void) setMapRegion
{
[self.mapView setRegion:region animated:YES];
}
于 2013-07-04T13:41:23.880 回答
0

MKMapViewmapViewDidFinishLoadingMap:一旦地图加载了所有必要的图块并准备好使用,就会调用其委托方法。你应该去setRegion:animated:那里打电话。

于 2013-07-04T13:55:56.997 回答