LoginSignup
4
5

More than 5 years have passed since last update.

【UIKit】デバイス向きとインターフェース向き

Posted at

デバイスのローテーションを検知して、アプリの見た目を最適化したい時に調べたこと。

UIDeviceOrientation

UIDviceクラスで定義されている。どうやらデバイス自体の向き。
つまり3次元で取得できる。

public enum UIDeviceOrientation : Int { 
    case unknown
    case portrait // Device oriented vertically, home button on the bottom
    case portraitUpsideDown // Device oriented vertically, home button on the top
    case landscapeLeft // Device oriented horizontally, home button on the right
    case landscapeRight // Device oriented horizontally, home button on the left
    case faceUp // Device oriented flat, face up
    case faceDown // Device oriented flat, face down
}

extension UIDeviceOrientation {
    public var isLandscape: Bool { get }
    public var isPortrait: Bool { get }
    public var isFlat: Bool { get }
    public var isValidInterfaceOrientation: Bool { get }
}

UIInterfaceOrientation

UIAppllicationクラスで定義されている。画面の縦表示か横表示。
分かりやすくいうと2次元の判断。

public enum UIInterfaceOrientation : Int {
    case unknown
    case portrait
    case portraitUpsideDown
    case landscapeLeft
    case landscapeRight
}

extension UIInterfaceOrientation {
    public var isLandscape: Bool { get }
    public var isPortrait: Bool { get }
}
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5