我有一个只有纵向模式的应用程序,并且只有一个屏幕处于横向模式。

我做了什么:
我创建了一个UINavigationController子类,并重写了以下内容:

import UIKit

class LandscapeVCNavigationController: UINavigationController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return .landscape
    }
    override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
        return .landscapeLeft
    }
}

然后使用此navigationController来呈现我的风景 View Controller ,如下所示:
if let vc = storyboard?.instantiateViewController(withIdentifier: StoryBoardIdentifiers.playerVCStoryboardIdentifier) as? PlayerViewController {

            let navController = LandscapeVCNavigationController.init(rootViewController: vc)

            present(navController, animated: true, completion: {
            })
        }

这很好。

我需要什么:我需要从底部(主页按钮侧)显示风景画VC,并应该将其放到底部(主页按钮侧)。这是当前发生的情况。

ios - 如何从iPhone的肖像底部快速呈现仅风景的ViewController?-LMLPHP

最佳答案

您必须添加一个自定义过渡动画来更改此默认行为。

    let transition = CATransition()
    transition.duration = 0.3
    transition.timingFunction = CAMediaTimingFunction(name:kCAMediaTimingFunctionEaseInEaseOut)
    transition.type = kCATransitionPush
    transition.subtype = kCATransitionFromLeft
    self.view!.window!.layer.add(transition, forKey: nil)
    self.present(navController, animated: false, completion:nil)

关于ios - 如何从iPhone的肖像底部快速呈现仅风景的ViewController?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44601029/

10-09 02:39