端末がどの向き、縦向きか横向きなのか?
UIDevice.current.orientationで取得する事ができます。
let orientation = UIDevice.current.orientation
let isFlat = orientation.isFlat
let isLandscape = orientation.isLandscape
let isPortrait = orientation.isPortrait
この記述で、縦向き、横向き、平行?の向き情報がBool値で取得できます。
めちゃくちゃ簡単ですね。・ω・
個人的なイメージとしては、必ずどれかがtrueになるイメージでした。
端末が起動している限り、どれかの向きであるはずだから・・・
しかし、状況によって、isFlat、isLandscape、isPortraitすべてfalseのときがありました。
アプリが起動後、一度も端末が回転していない時・・・
例えば、机に置いた状態でアプリを起動して全く回転が発生していない時。
isFlat、isLandscape、isPortraitがfalseでした・ω・
UIDevice.current.orientationで取得できるのは、アプリ起動後の情報だけなのでしょうか・・・??
ということで、下記のように対応。
if isLandscape == false && isPortrait == false && isFlat == false {
let bounds = UIScreen.main.bounds
if bounds.width > bounds.height {
// 横向き
} else {
// 縦向き
}
}
他に取得方法があれば教えてください(T_T)
コメント