更改UIInterfaceOrientation只有一个UIViewController中的应用(C

2019-08-02 16:12发布

我有像“导航控制器与表 - 与桌>下一个视图控制器 - > QLPreviewController”结构的iPhone应用程序。 通过在第一视图控制器(与导航控制器)表中的细胞抽头显示在单元格与另一个表的新视图控制器,由抽头的它显示QLPreviewController。

例如:在第一个表有组,在第二表-选定群组的文档,并QLPreviewController用于预览所选择的文档。

每个视图控制器在我的应用程序必须只出现在人像(没有上下)方向,但QLViewController还必须支持横向(左和右)。

我旗canRotate设置为YES QLPreviewController出现之前。 在AppDelegate中如果canRotate == YES我在任何方向返回YES,旋转QLPreviewController。 QLPreviewControllerDelegate在方法previewControllerWillDismiss:(QLPreviewController *)控制器将标志canRotate回到NO。 但是,如果方向是横向QLPreviewController解雇之前,我所有的ViewControllers的留在横向方向...

我如何可以旋转视图控制器返回到WillDismiss方法纵向方向?

Answer 1:

我做了我的应用程序是什么(它或多或少像你这样)为:

1)设置shouldRotate Yes两个屏幕。

2)对于第一视图设置以下掩码:

return UIInterfaceOrientationMaskPortrait

对于第二个角度提出:

return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape;


文章来源: Change UIInterfaceOrientation for only one UIViewController in app