0

如果有一种方法可以让您知道旋转后 UI 元素的框架是什么,我正在徘徊。我需要这个willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration来设置与这个相关的其他元素。

在这个方法中,如果你检查一个UI元素的框架,它会是旋转之前的框架,因为它被调用了WILLrotate...

我知道我可以做到这一点didRotate...,但这看起来很糟糕。我想在屏幕旋转时在动画中设置新帧。我知道我可以对值进行硬编码,但这看起来不像是一个解决方案。

干杯,

乔治

4

1 回答 1

1

好吧,你可以做到。如果您知道在 Interface Builder 中看到的“弹簧和支柱”——那么它们是主视图的“autoresizingMask”属性的位掩码中的位。由于您知道您的视图将更改其框架,因此您可以在主视图的子视图(以及那些视图子视图)中采用任意视图,并从主视图开始,逐步确定每个容器的框架在回转。

例如,如果您有一个框架为 10,460,300,10 的 UITextField,并且它有一个水平弹簧,并且锚定在左侧、右侧和底部 - 那么当视图从 320 到 480 的宽度旋转时,新的帧将是 10,300,460,10。

于 2012-08-13T11:54:05.677 回答