(Re:Mapbox for Swift)Mapbox Webサイト(https://www.mapbox.com/ios-sdk/examples/custom-callout/)の例を使用してカスタムコールアウトビューを実装しました。注釈が画面の端近くにある場合、のデフォルトののコールアウトビューは、コールアウトがビュー内に完全に収まるように、x値の位置を調整します。この機能はカスタム吹き出しビューで複製することができる一つの方法は、調整を適用することによるものである(必要な場合)self
のフレーム(吹き出しビュー自体)を設定する場合:本コールアウトでパンニング時にMapboxのコールアウトビューの再配置をオーバーライドする方法はありますか?
self.frame = CGRect(x: frameOriginX + adjustmentX, y: frameOriginY, width: frameWidth, height: frameHeight)
をデリゲートメソッド:
func presentCallout(from rect: CGRect, in view: UIView, constrainedTo constrainedView: UIView, animated: Bool)
しかし、これをやってカスタム吹き出しは、の上にセンターバックにその位置を元に戻しますユーザーがパンニングを開始したとき(またはマップや別の注釈に触れた場合など)は、(注釈ビュー)になります。ただし、のデフォルトのコールアウトビューでは、ユーザーがマップをパンすると、コールアウトビューに適用された調整が残ります。
したがって、カスタム吹き出しビューのx値の位置を適切に調整して、ユーザーが地図をパンする際に、その値を保持する方法を教えてください。