Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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

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 }
}
chino_tweet
小学校で放課後プログラミング教室を実施しています。 学生や社会人向けも。 初学者のためのわかりやすい教材を目指しています。
https://www.facebook.com/ichihara.programming/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away