在iOS中使用setRegion:animated:绘制地图区域后调用方法

时间:2012-06-25 16:34:55

标签: ios callback drawing mkmapview hud

在调用mapView方法后,是否可以知道setRegion何时完成绘制地图?

我在计算区域参数之前显示HUD

[SVProgressHUD showWithStatus:@"Finding"];

MKCoordinateRegion newRegion;

newRegion.center.latitude     = (maxLat + minLat) / 2;
newRegion.center.longitude    = (maxLon + minLon) / 2;
newRegion.span.latitudeDelta  = maxLat - minLat;
newRegion.span.longitudeDelta = maxLon - minLon;

然后设置一个新区域并隐藏HUD

[self.mapView setRegion:newRegion animated:NO];
[SVProgressHUD dismiss];

但是,HUD比地图上出现的新区域更快地解散。绘图后如何解除HUD?是setRegion的任何回调吗?

3 个答案:

答案 0 :(得分:1)

加载完地图后,– mapViewDidFinishLoadingMap:的{​​{1}}可用于执行代码。

答案 1 :(得分:1)

MKMapViewDelegate有mapView:regionDidChangeAnimated:将在你的MKMapView移动到指定区域时调用。

参考:http://developer.apple.com/library/ios/#DOCUMENTATION/MapKit/Reference/MKMapViewDelegate_Protocol/MKMapViewDelegate/MKMapViewDelegate.html

答案 2 :(得分:-2)

[SVProgressHUD performSelector:@ selector(dismiss)withObject:nil afterDelay:0.5]; 详情in the docs