我正在使用swift制作iOS应用程序。我的应用程序有很多视图,所有视图都以UITabBar作为根视图。我只需要支持一个tabbar项目的横向方向。
我该怎么做?
答案 0 :(得分:2)
我有一个基于这个答案的工作解决方案:https://stackoverflow.com/a/24928474/1359306
Target Settings > General > Deployment Info
。将此代码(取自关联的答案)添加到您的应用代理:
internal var shouldRotate = false
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask {
if shouldRotate {
return .AllButUpsideDown
} else {
return .Portrait
}
}
然后在仅景观视图控制器中,将以下代码放在viewDidAppear
(NOT viewDidLoad!)中以启用纵向和横向视图:
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.shouldRotate = true
与viewWillDisappear
相反,再次禁用横向。
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.shouldRotate = false
当应用程序处于横向状态时,我也隐藏了我的选项卡和状态栏,感觉这比使用选项卡并自动旋转屏幕要好得多。
在我的案例中,有一些事情我不必担心。