在方向改变后找到元素的位置

时间:2012-08-13 10:49:58

标签: iphone ios

如果有一种方法可以让你知道旋转后UI元素的帧是什么,我就会徘徊。我在willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration中需要这个,以便设置相对于这个元素的其他元素。

在此方法中,如果检查UI元素的帧,它将是旋转前的帧,因为它被称为WILLrotate...

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

干杯,

乔治

1 个答案:

答案 0 :(得分:1)

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

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

相关问题