计算UIVIews旋转前的新宽度

时间:2013-04-24 08:53:52

标签: ios uiview width uiinterfaceorientation

我想知道我的UIViewControllers视图在轮换更改后的新宽度,但我已经在

中提供了这些信息
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

方法,所以我无法访问frame或bounds属性。

我尝试使用图层属性presentationLayermodelLayer,但未找到正确的解决方案。

如果有人知道解决方案或者可以提供一些思考的食物,那会很棒。

1 个答案:

答案 0 :(得分:0)

我发现了问题!

我使用的方法是早期调用的:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

相反,我知道使用这个:

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
{
    CGRect frame = [self.view.window convertRect:self.view.frame fromView:self.view];
    float newWidth = frame.size.width;

    // Doing my animation stuff...
}

这使我能够拥有正确的新宽度并正确地为我的视图制作动画。