我們已經在我們的應用程序之一,看到一個意想不到的行爲 - 一個一個屏幕,我們正在展示在地圖上查看註釋,用戶可以通過點擊改變顯示的註解按鈕。的MKMapView - setRegion:動畫使的MKMapView上iOS7反應遲鈍
當我們用iOS7重建應用程序時,屏幕會定期凍結,即一旦下面的代碼被多次調用(不同的註釋集合),MKMapView就不會再有用戶輸入 - 視圖嵌入到兩個一個標籤欄和導航控制器及其所有UI元素仍然有效,但mapview本身不會接受任何用戶輸入(捏/縮放)。
顯示註釋的代碼是在這裏:
[self.mapView removeAnnotations:self.mapView.annotations];
for (MyObject *my in self.mydata)
{
MyAnnotation *annotation = [MyAnnotationFactory createAnnotationFor:my];
[self.mapView addAnnotation:annotation];
}
CLLocationCoordinate2D mycenter;
mycenter.latitude = -38.967659;
mycenter.longitude = 172.873534;
[self.mapView setRegion:MKCoordinateRegionMake(mycenter, MKCoordinateSpanMake(15, 18))
animated:YES];
[self.mapView setCenterCoordinate:mycenter];
我發現的是,通過設置區域沒有其動畫,通過改變上面的代碼即
[self.mapView setRegion:MKCoordinateRegionMake(mycenter, MKCoordinateSpanMake(15, 18))
animated:NO];
的問題消失了,MKMapView在iOS7上的表現也很好。
如果你有一個想法爲什麼這是發生的,以及爲什麼它只發生在iOS7而不是早期版本,我很感謝澄清。
我遇到了完全相同的問題。不幸的是,我還沒有找到解決方案。 – Jonathan
你是否起訴線程? – latenitecoder