2014-07-11 181 views
2

当我使用IB中的Autolay ON打开设备时,不会调用以下方法。旋转Autolay不起作用

willRotateToInterfaceOrientation:duration: 

首先,上述方法不自动布局炒锅?该方法在Autolayout关闭的情况下被调用。我试图改变我的观点旋转的背景图片,不知道如何实现与autolayout constaints ON?

我也尝试使用Moin的程序,但我有一个巨大的视图层次结构和方法从superview向前调用,并且我有很多其他方法中的其他代码。因此,它并没有帮助

didRotateFromInterfaceOrientation 
+2

您必须正确地做某件事,因为运行的方法与自动布局是打开还是关闭无关。我总是使用自动布局,并且该方法适用于我。 – rdelmar

+0

@rdelmar:谢谢。所以当我旋转设备时,这些方法会自动调用。只有当我将我的xib更改为autlayout时,他们才不会被调用。我在所有的xib文件上测试了这个,并且这些方法没有被调用。那么可能会出错的是什么?因为它工作正常,没有自动布局。有什么我失踪? – Irfanlone

+0

对不起,我不知道。它一直为我工作。我只是在一个带xib定义的控制器的新应用程序上尝试过它,并且调用了它。 – rdelmar

回答

1

简短的回答: -willRotateToInterfaceOrientation:duration:工作与自动版式。

长答案: 假设您使用的是NIB,那么多复合问题可能会出错;截至UIViewController does not auto rotate

  • 建议@nybon你设置

    1. 你设置在IB您的自定义的UIViewController截至Loaded nib but the view outlet was not set - new to InterfaceBuilder
    2. 建议@JoshJustice你妥善处理自动旋转:我编这个清单plist中的全局方向由@NateFlink推荐Handling autorotation for one view controller in iOS7
    3. 您的自定义UIViewController对-supportedInterfaceOrientations响应的值不正确吗?看到preferredInterfaceOrientationForPresentation must return a supported interface orientation (iOS 6)
  • +0

    感谢您的回答。 你能提供更多关于你是什么意思的“你是否在IB中设置了自定义的UIViewController”以及“你是否正确地处理自动旋转? 正如我在我的问题中所说的,自动旋转完美无缺地自动布局。 – Irfanlone

    +0

    对于你的应用程序出错的原因没有人回答(*直到你发现它是*),但是你的问题有一个答案:*首先上述方法是否适用于自动布局?* **是的,他们做**我已经格式化了我的回复并添加了您应该查看的可能位置的链接。 – SwiftArchitect

    1

    -willRotateToInterfaceOrientation:duration:通过@AndrewHershberger建议的响应被调用根视图控制器及其所有子viewcontrollers,并自动布局的作品。如果你想让这些方法在特定的视图控制器上被调用,它必须是根视图控制器的子视图控制器。

    我花了一段时间才弄清楚,从根到最后一个viewcontroller的层次结构在某些时候是打破了。我只是不得不添加它作为子视图控制器。