iOS8 SDK:呈现横向锁定模式的纵向锁定容器视图控制器会导致严重的布局问题

时间:2014-09-24 20:16:33

标签: ios objective-c iphone uiviewcontroller ios8

当纵向锁定容器视图控制器以模态方式呈现横向锁定视图控制器时,视图控制器随后会在应用程序启动之前被错误地布局,从而导致严重的可用性问题。

https://github.com/eric-horacek/iOS8-Rotation-Presentation-Bug

也提供了显示此问题的示例项目

重现步骤:

  1. 创建一个窗口
  2. 创建一个锁定为纵向的容器视图控制器
  3. 使用视图控制器包含方法
  4. 将子视图控制器添加到自定义容器视图控制器
  5. 将容器视图控制器设置为窗口上的根视图控制器
  6. 以模态方式呈现一个锁定到仅横向方向的视图控制器
  7. 预期结果:

    模态视图控制器以横向显示,占据整个屏幕。当被解雇时,方向返回到肖像。

    实际结果:

    呈现模态视图控制器,但仍以纵向方式布局,剪切呈现的视图控制器的内容。应用程序状态栏正确旋转到横向,但模态呈现的视图控制器的内容保持纵向,从屏幕底部剪切。当视图控制器被解除时,呈现视图控制器将以横向方向布局,尽管设备正确地重新定向回到肖像。这导致呈现视图控制器的内容也被剪裁。在重新启动应用程序之前,无法修复此问题。

    注意:

    如果父视图控制器是导航控制器(不使用自定义视图控制器包含),则它可以按预期工作,不会出现布局问题。但是,使用自定义容器视图控制器时问题仍然存在。

    有什么想法吗?

0 个答案:

没有答案