1

UITabBarController の最初の位置にフルサイズのビューとして配置されている MKMapView に問題があります。ビューを表示する前に、いくつかの注釈を mapView に追加します。すべてがうまく機能します。

タブを変更して (mapView が表示されないように)、mapView のあるタブに戻ると、すべての注釈が消えて、mapView がデフォルト設定にリセットされたように見えます。

デバッグ後、mapView を使用してタブに戻ると、mapView オブジェクトへの参照が以前とは完全に異なるアドレスを指していることがわかりました。タブを離れた後にmapViewの割り当てが解除されたと思いますが、その理由はまったくわかりませんか?

返信ありがとうございます。

こんにちは、セバスチャン

4

3 に答える 3

3

マップ注釈の初期化コードをどこに置いていますか? -viewDidUnload では、おそらく mapView を nil に設定していますよね? その場合は、ビューが -viewDidLoad で再度初期化されたときに、注釈を (再) 追加していることを確認してください。

コードがある場合は、それも役立ちます。

于 2010-01-13T20:44:33.447 に答える
1

メモリを使いすぎているため、割り当てを解除しています。
ビューに関するすべての情報(注釈、マップ領域)をモデルに保持する必要があるため
、viewDidLoadで事前に設定できます。

于 2010-01-13T20:45:16.383 に答える
0

アノテーションのロードを-viewDidLoadに追加しましたが、正常に機能するようになりました。ご協力いただきありがとうございます!

于 2010-01-14T08:13:32.277 に答える