我有一个仅纵向模式的应用程序(仅适用于iPhone),但有一个例外,即视图必须以横向模式显示。
尽管实现了Objective-C,但我已经实现了How to lock orientation of one view controller to portrait mode only in Swift中接受的答案中描述的技术。
由于我已经覆盖了景观视图控制器的-viewWillAppear和-viewWillDisappear中的-lockOrientation方法,所以我不理解为什么在视图出现后发生旋转。我以为会在视图出现之前发生。
当我呈现的横向视图被呈现的纵向视图覆盖时,纵向视图以横向形式开始(因为它是在旋转之前在横向视图上呈现的),但是旋转的视图仅具有横向模式下的高度。 / p>
关闭纵向视图后,即使我也为横向模式实现了-supportedInterfaceOrientations和-preferredInterfaceOrientationForPresentation,第一幅横向视图现在已旋转为纵向模式。 UIViewController orientations中已经指出了这一点,但是似乎没有发布任何可行的解决方案。
两个视图控制器(覆盖它的风景和肖像)都被展示而不是被推送。
此外,在项目的Info.plist中设置的唯一标志是Portrait。全屏标志未设置 。
简而言之,只是试图在我的应用程序中查看方向时出现一个异常。
任何解决我所描述行为的线索将不胜感激。