快速停用Xib的屏幕旋转

时间:2018-11-01 09:32:54

标签: ios uiview uiviewcontroller uikit swift-framework

我迅速创建了一个动态框架,其中,每当发出voip通知时,框架中的.xib文件就会打开。 我只想将屏幕的方向限制为纵向模式,但是我不确定该怎么做。

我尝试了以下方法,但是这些方法只能在UIViewController中使用,而不能在UIView中使用。

override var shouldAutorotate: Bool {
    return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    return .portrait
}

1 个答案:

答案 0 :(得分:0)

这么长时间后,我终于找到了解决方案。 我在框架中创建了一个视图控制器类,从中打开.xib文件。 我在新创建的视图控制器中添加了以下功能

override var shouldAutorotate: Bool {
    return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    return .portrait
}

现在,在打开.xib之前,我需要在当前视图控制器的顶部显示该视图控制器,即我从自己的文件中调用该视图控制器,就像这样

self.navCtrl?.present(自身,动画:false,完成:nil)

这样,我的.xib文件将在框架的viewcontroller而非应用程序的视图控制器上方打开。要关闭此ViewController,只需使用

dismiss(animated: false, completion: nil)

因此问题解决了。