1

奇妙な iPhone シミュレーターの問題に遭遇しました。MKMapView を使用して地図を表示するアプリケーションを作成しました。このマップを中央に配置したいので、次のコードを使用しました。

- (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-Simulator」->「Inhalte und Einstellungen zurücksetzen」に移動してシミュレーター全体をリセットすると、一度だけ機能しました(!!)...

[編集]

これはランタイムの問題のようです。上記のコードを "- (void)viewDidAppear:(BOOL)animated" に入れると、正しく動作するようになります - 少なくともほとんど。ユーザーは、「デフォルトの場所」から私の座標へのアニメーション化されたフライを見るようになりました。

ビューがロードされたときにマップが正しい位置にあるようにするには、どこにコードを配置する必要がありますか?

4

1 に答える 1