2013-05-21 50 views
1

我遇到了一個奇怪的iPhone模擬器問題。我創建了一個使用MKMapView顯示地圖的應用程序。我希望這張地圖居中,因此使用下面的代碼。Xcode 4.6.2和奇怪的iPhone模擬器問題

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    CLLocationCoordinate2D location; 

    location.latitude = 47.379022; 
    location.longitude = 8.541001; 

    MKCoordinateSpan span; 

    span.latitudeDelta = 0.05; 
    span.longitudeDelta = 0.05; 

    MKCoordinateRegion region; 

    region.center = location; 
    region.span = span; 

    [self.mapView setMapType:MKMapTypeStandard]; 
    [self.mapView setRegion:region animated:YES]; 
} 

此代碼的工作在一個新的「HelloMap」 Xcode項目完美無瑕,做什麼它應該 - 圍繞蘇黎世地圖。

但在另一個項目中使用完全相同的代碼會將地圖放置在南極洲附近的某個地方。我已經嘗試使用「產品」 - >「清潔」來清潔建築環境...沒有變化。

同時從模擬iPhone中刪除應用程序不會做出更改。我還使用終端檢查並刪除相應文件夾中的所有剩餘應用程序。

它甚至似乎對Xcode項目所做的更改沒有(總是)傳遞給iPhone模擬器。例如,當上面的源代碼被註釋掉時,MKMapView甚至會加載...

我在這裏沒有想法...任何輸入?

[編輯]

進入 「的iOS模擬器」 重置整個模擬器 - > 「Inhalte UND Einstellungenzurücksetzen」 使工作一次(!)...

[編輯]

這似乎是一個運行時問題。將上面的代碼放入「 - (void)viewDidAppear:(BOOL)animated」使其行爲正確 - 至少差不多。用戶現在看到從「默認位置」到我的座標的動畫飛行。

哪裏需要放置代碼,以便在視圖加載時地圖處於正確的位置?

+0

看看iOS模擬器上的Debug-> Location,它應該是None,也許這就是問題所在。 – folex

+0

你在使用自動佈局嗎? –

回答

0

我使用viewWillAppear並有同樣的問題,使用viewDidAppear的建議,我的問題得到解決。