iOS:如何理解所有视图都改变了方向

iOS:如何理解所有视图都改变了方向,ios,objective-c,orientation,Ios,Objective C,Orientation,更改方向后,我需要获取自定义UIView的大小。 我试图捕获UIDeviceOrientationIDChangeNotification,但据我所知,我在设备方向更改后立即收到此通知。但是,所有视图都需要更多的时间以新的方向重建自身,因此当我尝试仅通过UIDeviceOrientationIDChangeNotification获取大小时,我得到了错误的值。当我添加一些延迟时,效果很好。 你能告诉我一些做我想做的事情的最佳实践吗 更新2015-01-12 好的,我尝试使用-voidviewDi

更改方向后,我需要获取自定义UIView的大小。 我试图捕获UIDeviceOrientationIDChangeNotification,但据我所知,我在设备方向更改后立即收到此通知。但是,所有视图都需要更多的时间以新的方向重建自身,因此当我尝试仅通过UIDeviceOrientationIDChangeNotification获取大小时,我得到了错误的值。当我添加一些延迟时,效果很好。 你能告诉我一些做我想做的事情的最佳实践吗

更新2015-01-12 好的,我尝试使用-voidviewDidLayoutSubviews来执行此操作 但这无助于我在CGFloat chartWidth=self.webView.frame.size.width时得到0

- (void)viewDidLayoutSubviews
{
    if (self.orientationChangedFlag == YES)     //orientation was changed
    {
        CGFloat chartWidth = self.webView.frame.size.width; 
        CGFloat chartHeight = self.webView.frame.size.height;

        self.orientationChangedFlag = NO;
    }
}

但是我在device emulator的屏幕上看到了很大的webView。

为什么旋转后需要读取这个尺寸?尝试使用自动调整大小遮罩或自动布局构建布局。还有一种方法是didRotateFromInterfaceOrientation:不幸的是,我曾经相信iOS8大小类,现在我发现它不支持只支持横向的iPad,只支持横向/纵向的iPad,现在我不得不做一些奇怪的事情。。。啊。。。