我想知道是否有一种方法可以让您知道旋转后 UI 元素的框架是什么。我需要在 willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientationuration:(NSTimeInterval)duration
中使用它,以便设置相对于该元素的其他元素。
在此方法中,如果您检查 UI 元素的框架,它将是旋转之前的框架,因为它被称为 WILLrotate...
我知道我可以在 didRotate...
中执行此操作,但这看起来很糟糕。我想在屏幕旋转时在动画中设置新帧。我知道我可以对这些值进行硬编码,但这看起来并不是一个解决方案。
干杯,
乔治
最佳答案
嗯,你可以做到的。如果您知道在 Interface Builder 中看到的“ Spring 和支柱”,那么它们是主视图的“autoresizingMask”属性的位掩码中的位。由于您知道 View 将更改其框架,因此您可以在主视图的 subview (以及这些 View 的 subview )中采用任意 View ,并从主视图开始,逐步确定每个容器的框架在旋转。
例如,如果您有一个框架为 10,460,300,10 的 UITextField,并且它有一个水平 Spring ,并且锚定到左侧、右侧和底部 - 那么当 View 从宽度(例如 320)旋转到 480 时,那么新的帧将为 10,300,460,10。
关于iphone - 查找方向改变后元素的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11932827/