viewWillLayoutSubviews和旋转
在我的应用程序中,我将所有的视图放在viewWillLayoutSubviews中。 最近我被要求让应用程序处理所有的方向。 我觉得这很简单,因为我正在使用
CGRect rotatedFrame = [self.view convertRect:self.view.frame fromView:nil];
这将返回与设备当前方向匹配的框架。 不幸的是,我发现这不适用于所有情况。 即如果我提出一个模式的视图控制器,将其旋转到横向,然后解雇它,父视图控制器“rotateFrame”是不是我所期望的。 这导致我的视图布局不正确。
有没有办法获得正确的方向框架?
我发现,而不是把nil
的fromView:
我使用视图的父母,它按预期工作。
CGRect rotatedFrame = [self.view convertRect:self.view.frame fromView:self.view.superview];