2011-06-02 42 views
0

嘿家伙我试图显示地图加载时的活动指标。mapViewWillStartLoadingMap不叫

- (void)mapViewWillStartLoadingMap:(MKMapView *)mapView 
{ 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES 
    NSLog(@"map started loading); 
} 

我试过使用上面的方法,但它永远不会被调用。 每当我放大或缩小地图瓦片将开始加载,但是这种方法不会被调用。

+0

这是什么语言? – 2011-06-02 01:25:57

+3

@Mike:这是Objective-C。 @ user774150:你是否设置了地图视图的委托属性? – Anna 2011-06-02 01:37:25

+0

@interface FirstViewController:UIViewController 这是我的.h文件,这是正确的吗? – user774150 2011-06-02 05:46:58

回答

4

只声明你的类实现的协议是不够的。这只会帮助编译器生成有关缺少或不正确的方法实现的警告或错误。

您必须将地图视图的delegate属性实际设置为该类实例。

如果在IB中创建了地图视图,则右键单击地图视图并将委托属性连接到文件的所有者。

如果地图视图在代码中创建,然后在viewDidLoad,加上这样一行:

mapView.delegate = self; 

如果你做了这一切,仍是没有得到调用的方法,它也有可能是您正在查看的区域已经在本地缓存,不需要重新加载。尝试移动到某个地区或放大一些你从未去过的地方。

+0

谢谢。愚蠢的我。代表没有连接。只有IBOutlet已连接。 – user774150 2011-06-02 14:10:51