iPhoneのApple MAP現在地位置をAutoLayoutと協力してぶち抜く

標高ワカールというアプリを提供しているのですが、中心の十字を中央に合わせるのに少し困ったので記録を書きます。

実現したい事

最初の実装

こんな感じで、中央にAutoLayoutを設定します。

問題

ずれてしまう。

理由

Apple MAP側がSafeAreaに配慮して中央を調整している。

対策

iPhoneX系では下側にも領域があるから view.safeAreaInsets.bottom の調整も必要です。上と下にマージンを分配するために、2で割りましょう。

@IBOutlet var targetYtConstraint: NSLayoutConstraint!
override func viewDidLayoutSubviews() {
   super.viewDidLayoutSubviews()
   
   targetYtConstraint.constant =
       (view.safeAreaInsets.top - view.safeAreaInsets.bottom) / 2.0
}

結果

これで上手に当てることが出来ました。


この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

note.user.nickname || note.user.urlname

サポート頂けたらめっちゃ喜びます!

お役に立てる記事を書けるように努力します✍️
3

米本剛士

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。