如何在 iOS 8 中告诉目标 interfaceOrientation?

Posted

技术标签:

【中文标题】如何在 iOS 8 中告诉目标 interfaceOrientation?【英文标题】:How to tell the target interfaceOrientation in iOS 8? 【发布时间】:2015-01-19 23:01:14 【问题描述】:

由于 willAnimateRotationToInterfaceOrientationios 8 中已被弃用(我们应该使用 - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator),我如何知道用户将要旋转的 interfaceOrientation?

是的,我可以通过读取尺寸值来了解比例,但它并不能告诉我UIInterfaceOrientationLandscapeLeftUIInterfaceOrientationLandscapeRight 之间的区别。

【问题讨论】:

【参考方案1】:

正如你所说的,你正在接收这个事件:

- (void)viewWillTransitionToSize:(CGSize)size 
    withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator)

第二个参数是一个过渡协调器。用它!它有一个targetTransform 属性,可以告诉您即将发生的事情。

【讨论】:

谢谢马特(顺便说一句,我是你作品的粉丝)。那么,现在没有简单的方法来读取 UIInterfaceOrientation 了吗?一定要计算吗? 您可以现在阅读界面方向,但您的问题是“用户要旋转的界面方向?”在调用此方法时,您获得的关于 future 的最多信息来自targetTransform

以上是关于如何在 iOS 8 中告诉目标 interfaceOrientation?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中检测屏幕圆角

iOS开发:告诉git不要跟踪UserInterfaceState.xcuserstate

如何在 ios 中安全地更改部署目标

如何在 CMake 中为外部 INTERFACE_SOURCES 设置编译标志?

iOS Human Interface Guidelines

如何像 Interface Builder 一样调整 iOS UI 组件的大小