2011-06-02 37 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