Ios 旋转iPad时,视图控制器没有一直向右延伸

Ios 旋转iPad时,视图控制器没有一直向右延伸,ios,objective-c,uiview,uiviewcontroller,autolayout,Ios,Objective C,Uiview,Uiviewcontroller,Autolayout,当我在iPad 8.4上旋转视图控制器时,我的视图不会一直向右延伸: 在本例中,红色视图是我的根视图控制器,它永远不应该可见。我嵌入了一个导航控制器,它会填满整个屏幕并覆盖红色部分 它为什么会导致这种行为,我如何解决它 如果我尝试在iPhone或iOS 9上运行它,它是固定的。我能够用最少的步骤重现问题: 重现问题的步骤(或): 在Xcode 7中创建一个新项目 将目标更改为iOS 8.4 在情节提要中删除视图控制器的视图,然后重新添加它 更改视图控制器的背景色,以便我们可以看到发生了什么 将

当我在iPad 8.4上旋转视图控制器时,我的视图不会一直向右延伸:

在本例中,红色视图是我的根视图控制器,它永远不应该可见。我嵌入了一个导航控制器,它会填满整个屏幕并覆盖红色部分

它为什么会导致这种行为,我如何解决它


如果我尝试在iPhone或iOS 9上运行它,它是固定的。

我能够用最少的步骤重现问题:

重现问题的步骤(或):

  • 在Xcode 7中创建一个新项目
  • 将目标更改为iOS 8.4
  • 在情节提要中删除视图控制器的视图,然后重新添加它
  • 更改视图控制器的背景色,以便我们可以看到发生了什么
  • 将视图控制器嵌入到导航控制器中
  • 将导航项添加到视图控制器
  • 通过在UIView中拖动到情节提要,添加中心导航项视图
  • 添加第二个视图作为刚创建的视图的子视图
  • 将新的视图控制器添加到情节提要,并将其设置为初始视图控制器
  • 在新视图控制器的视图中,没有加载方法
  • 在iPad Air(8.4)上运行
  • 向右旋转iPad,使其处于横向位置
  • 请注意红色部分是如何突出视图的
  • 解决问题的办法:

    • 使用iOS9.0
    • 使用iPhone而不是iPad
    • 导航项的中心位置没有两个视图(一个视图就可以了;但是视图中的标签会导致这种破坏)
    • 打开序列图像板的XML,并将视图控制器的视图的
      自动调整大小任务
      更改为
      。与嵌入视图控制器的序列图像板方式相比,您将看到序列图像板设置了
      translatesAutoResizezingMaskintoConstraints=YES
      ,因此,不尝试设置约束,只需将TranslatesAutoResizengMaskintoConstraints设置为YES,并设置
      childView.frame=parentView.bounds
      ,以模拟故事板嵌入行为。(注意,您还可以看到,在默认情况下,序列图像板将嵌入视图的
      自动调整大小设置为
      W+H
      ,因此您应该确保您的视图具有该设置。)

    是否有调用layoutifneed的旋转观察者方法?如果没有,试试这个。