通过解决我的应用程序中的最后一个大问题,我会导致另一个问题,也许是更大问题我的应用程序只是一个肖像,但我希望能够在横向上观看视频。为此,我将此方法添加到AppDelegate:
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask {
guard let vc = (window?.rootViewController?.presentedViewController) else {
return .Portrait
}
if (vc.isKindOfClass(NSClassFromString("AVFullScreenViewController")!)) {
return .AllButUpsideDown
}
return .Portrait
}
完美地运作。但是现在,如果我发出提醒或点击某些共享按钮(打开configureMailComposeViewController() or UIActivityViewController()
),我的应用就会崩溃。
fatal error: unexpectedly found nil while unwrapping an Optional value
2016-09-16 09:51:43.665772 App[1788:535789] fatal error: unexpectedly found nil while unwrapping an Optional value
我不明白这个问题,不应该保护我免受这个问题的影响并返回.Portrait? 如果我删除该方法或只是返回.Portrait一切都可以使用景观观看视频的ecxeption。
请不要建议将我的应用除了横向方向以外,并为每个控制器禁用它。我试过了,不是在我的情况下工作。
答案 0 :(得分:0)
在AVFullScreenViewController
此视图控件中弹出或关闭时,为window
或statusbar
设置界面方向为纵向。您可以在viewWillDisappear
的{{1}}内进行管理。