我有一个标签栏应用程序。每个视图控制器都可以旋转。
我在风景中,如果我去查看控制器B并旋转到肖像,然后返回查看控制器A,A的视图还没有被旋转 - 因为它没有&#39 ; t得到事件 - 因此UI全部超出比例,我需要旋转设备进行排序。不好。
我可以听UIDeviceOrientationDidChangeNotification,但我不想手动调用旋转方法(willRotate,willAnimate,didRotate)......因为这显然是脆弱的。
为了让这项工作正常,我错过了什么?
答案 0 :(得分:0)
我认为问题在于我的视图需要在轮换时运行的代码,这只发生在轮换通知方法中。
我解决这个问题的方法是:
- (void) deviceOrientationChanged:(NSNotification *)notification {
if (self.isViewLoaded && !self.view.window) {
// viewController view is loaded, but not visible
[self viewDidRotateOffscreen];
}
}