2013-07-04 41 views
2

我有一個MKMapView。要更改顯示的區域我用MKMapView setRegion:動畫:在模擬器上工作,但不在設備上iOS6

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

奇怪的是,在模擬器中的區域與動畫的改變,但在設備上的變化是直接而不是動畫。

我改變該地區在地圖上長按後...

這種行爲讓我瘋狂,我不能能解決它...... 謝謝...

+0

您在ios 7上測試過嗎? – VivienCormier

+1

當你嘗試在設備上設置區域時,你是否嘗試過延遲?我在考慮地圖加載速度不夠快。 – soryngod

+0

@soryngod你能解釋得更好嗎?因爲我不明白你的意思...... – Fry

回答

1

您需要通過使用下面的代碼

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


-(void) setMapRegion 
{ 
[self.mapView setRegion:region animated:YES]; 
} 
+1

我不這麼認爲會影響。 –

+0

它幫助我很多 – Vinodh

1

如果加載的設備和iOS地圖6+你會經歷一個有點延遲,直到瓦片被加載,從而做到的最好的事情就是儘量拖延放緩setRegion該地區的變化。

即使您設置了動畫,地圖也無法響應,它對您而言不會顯得那麼清晰,它看起來好像沒有製作任何動畫。

0

MKMapView一旦地圖加載了所有必要的圖塊並準備使用,就會調用它的代理方法mapViewDidFinishLoadingMap:。那裏你應該打電話setRegion:animated:

相關問題