我花了最后一小时左右的时间试图解决为什么我的所有UIViewControllers都没有收到方向更改通知。
我有一个附加到窗口的子类UIViewController,它在内部创建了一些其他的UIViewControllers来管理屏幕的较小部分,这些部分在我正在构建的应用程序的其他地方重新使用。
问题是,只有附加到窗口的UIViewController才会收到方向更改通知。
其他UIViewControllers没有触发他们的- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
方法。
我假设它是预期的行为,我似乎无法在文档中找到任何提及它的内容。
有没有办法确保所有活动的UIViewControllers都获得方向更改?或者父视图控制器是否必须在发生更改时告诉其子项?
干杯。
答案 0 :(得分:0)
是否所有视图控制器都返回YES到shouldAutorotateToInterfaceOrientation:?如果是这样,我建议将界面方向消息从父级传递给子视图控制器,如您所建议的那样。
我之前一直这样做,到目前为止对这种方法没有任何问题。