Googleのアプリで予期せぬ動作が見られました。マップビューで注釈を表示する1つの画面があり、ユーザーは表示された注釈をボタン。MKMapView - setRegion:animatedにより、iOS7でMKMapViewが応答しなくなる
私たちがiOS7でアプリケーションを再構築すると、スクリーンは定期的にフリーズします。つまり、以下のコードが何回も呼び出されたとき(別々のアノテーションセットで)、ビューが両方に埋め込まれていればMKMapViewでユーザー入力ができなくなります。タブバー、ナビゲーションコントローラ、およびそれらのUI要素はすべて機能していますが、マップビュー自体はユーザー入力(ピンチ/ズーム)を受け付けません。
注釈を表示するコードはここにある:
[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