Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
5
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

デバイス回転の制御

背景

画面(ViewController)ごとに回転を制御したいとき、
とりあえず回転する可能性のある方向をすべて指定してから

UISupportedInterfaceOrientations

スクリーンショット 2015-04-25 23.51.33.png

ViewController
shouldAutoroate, supportedInterfaceOrientations
をオーバーライドして制御する方法しか知らなかった。
あまりスマートじゃないと感じたので別の方法を探してみた。

回転制御方法

以下のようにするとViewControllerごとに回転を制御できるようになる。

ソースコード

AppDelegate.swift

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> Int {
        if window?.rootViewController?.presentedViewController is ViewController2 {
            return Int(UIInterfaceOrientationMask.AllButUpsideDown.rawValue)
        } else {
            return Int(UIInterfaceOrientationMask.Portrait.rawValue)
        }
    }

ではUISupportedInterfaceOrientationsって?

UISupportedInterfaceOrientations
によると、アプリを起動するときに取りうる方向を指定しておくものらしい。

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
5
Help us understand the problem. What are the problem?