UIViewController-Ausrichtung kann nicht erzwungen werden

Ich habe eine Portrait-Anwendung mit einem Landscape ViewController.

Ich habe viel darüber nachgedacht, wie ich die Ausrichtung auf Querformat erzwingen kann, wenn die App auf Hochformat festgelegt ist, und ich habe viele der hier vorgestellten Lösungen ausprobiert, und zwar nicht nur, aber bisher ohne Erfolg.

Bisher konnte ich die benötigte VC im Querformat automatisch drehen, aber da die Ausrichtung nicht gesperrt ist, drehen sich auch alle anderen VCs.

override func viewDidAppear(animated: Bool)
{
    let value = UIInterfaceOrientation.LandscapeRight.rawValue
    UIDevice.currentDevice().setValue(value, forKey: "orientation")
}

override func shouldAutorotate() -> Bool
{
    return true
}

Nach einigem mehr Graben endete ich damit, nachdem ich ein Beispielprojekt gefunden hatte, aber während es in diesem Projekt funktioniert, scheint es bei mir nicht zu funktionieren.

Dies ist in AppDelegate

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask {

    if self.window?.rootViewController?.presentedViewController is ConclusionReferencesVC {

        let conclusionReferencesVC = self.window!.rootViewController!.presentedViewController as! ConclusionReferencesVC

        if conclusionReferencesVC.isPresented
        {
            return UIInterfaceOrientationMask.LandscapeRight;
        }
        else
        {
            return UIInterfaceOrientationMask.Portrait;
        }
    }
    else
    {
        return UIInterfaceOrientationMask.Portrait;
    }
}

Dies ist in der VC, die ich im Querformat haben möchte:

var isPresented = true

@IBAction
func dismiss()
{
    isPresented = false
    self.presentingViewController!.dismissViewControllerAnimated(true, completion: nil);
}

Aus irgendeinem Grund überprüft die supportedInterfaceOrientationsForWindow-Methode die Anfangsbedingung nicht.

Ich habe diese auch unter anderem ausprobiert aber kein Glück:

So sperren Sie die Ausrichtung eines View Controllers im Hochformat nur in Swift

supportedInterfaceOrientationsForWindow in Swift 2.0

Irgendwelche Ideen? Es scheint, als würde mir etwas fehlen, aber ich kann nicht herausfinden, was.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage