iPhoneXのViewでの位置の取得方法まとめ
取得するタイミングに注意
詳しくはこちらの記事に書いてあったが、viewWillLayoutSubviews()以降に呼ばれるメソッドの中でしかSafeAreaの値は取得できないので注意。
上の記事にはviewDidLoad()などが呼ばれる順番も書いてあった。
SafeAreaの座標の取得方法
//safeAreaFrameが上の青い部分のCGRect.
let safeAreaFrame = self.view.safeAreaLayoutGuide.layoutFrame
let safeAreaTop = safeAreaFrame.origin.y
let safeAreaBottom = safeAreaFrame.origin.y + safeAreaFrame.height
let safeAreaRight = safeAreaFrame.origin.x
let safeAreaLeft = safeAreaFrame.origin.x + safeAreaFrame.width
SafeArea外の画面を覆う四角の座標取得方法
iPhoneXはいびつな画面の形をしているが、それを覆うような長方形viewをうまく配置すると考えると話は楽になる
//overViewFrameが上からかぶせる長方形のCGRect
let overViewFrame = self.view.safeAreaLayoutGuide.owningView!.frame
let overViewTop = overViewFrame.origin.y
let overViewBottom = overViewFrame.origin.y + overViewFrame.height
let overViewRight = overViewFrame.origin.x
let overViewLeft = overViewFrame.origin.x + overViewFrame.width
あとはうまく使おう
ここさえ取れればいくらでも自作でnavigationBarやらを作れる気がしたのでやってみよう。
あとでまたnavigationBarを作ったら記事書いてここに載せます。
Author And Source
この問題について(iPhoneXのViewでの位置の取得方法まとめ), 我々は、より多くの情報をここで見つけました https://qiita.com/nasutaro211/items/bb69adb551e959a79c2c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .