2

MKMapView にいくつかの MKPolygon を追加しましたが、MKMapView によって問題なく表示されます。この MKMapView の userLocation を有効にし、ユーザーが自分の場所のアクセス許可を付与した場合、デリゲートは呼び出されず、オーバーレイも描画されません。次の viewDidLoad の後、デリゲートは再び正常に動作し、すべてのオーバーレイが表示されます。

したがって、ユーザーが自分の場所の許可を与えるように求められた場合にのみ、問題が発生するようです。

誰かがこの奇妙な動作の説明/解決策を持っていることを願っています, ありがとう.

アップデート

私が知ったように、それはユーザーの場所とは何の関係もありません。どういうわけか、MKMapView はオーバーレイを描画するためのデリゲートを呼び出していませんが、アプリの最初の起動時の初期ビューである場合に限ります。その後、すべてが機能します。

4

1 に答える 1

2

セットアップ コードを独自のメソッドに移動し、 と や などのユーザー トラッキング デリゲート メソッドの 1 つを呼び出すだけviewDidLoadです。mapView:didChangeUserTrackingMode:animated:mapViewWillStartLocatingUser:

于 2012-06-03T10:04:35.043 に答える