iphone - 查找方向改变后元素的位置

标签 iphone ios

我想知道是否有一种方法可以让您知道旋转后 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/

相关文章:

ios - setBackgroundResource() 等效于 iphone 单点触控

ios - 如何在自定义 CNContactViewController 中异步更新图像

iphone - iPad 分屏 View 更改主导航栏颜色

ios - 无法验证包,未使用苹果提交证书签名

iphone - 单击时 UISearchBar 没有响应

ios - UITableViewCell 动画只有一个方向

ios - Execution_BAD-ACCESS 删除数据时

iphone - 当 iAd 可能被遮挡时,这是一个问题吗?

iOS 调度异步崩溃

javascript - Cordova/Phonegap oauth.io 弹出窗口未显示