我有一个只有纵向模式的应用程序,并且只有一个屏幕处于横向模式。
我做了什么:
我创建了一个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,并应该将其放到底部(主页按钮侧)。这是当前发生的情况。
最佳答案
您必须添加一个自定义过渡动画来更改此默认行为。
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/