我需要在更改方向后获得自定义UIView的大小。 我试图捕获UIDeviceOrientationDidChangeNotification,但据我所知,我在设备方向更改后立即收到此通知。但是所有视图都需要更多的时间来重新构建自己的新方向,因此当我尝试通过UIDeviceOrientationDidChangeNotification获取大小时,我得到了错误的值。当我添加一些延迟它工作正常。 你能告诉我一些做我想做的最佳做法吗?
更新2015-01-12
好的,我尝试用 - (void)viewDidLayoutSubviews
来做
但它在CGFloat得到0并没有帮助。chartWidth = self.webView.frame.size.width
- (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;
}
}
但我在设备模拟器的屏幕上看到了大尺寸的webView。