每次iOS设备更改方向时,我都需要获取iOS设备的方向,记住不是在启动应用程序时或在加载时,对于我需要注册的每次设备更改方向。
答案 0 :(得分:2)
您必须倾听/观察/观察设备方向更改UIDeviceOrientationDidChangeNotification
,
查看相同的question here
答案 1 :(得分:0)
根据每次设备方向更改时调用的方法调用的苹果UIKit Framework Reference。
通知容器其视图的大小即将更改。 (所需的)
- (void)viewWillTransitionToSize:(CGSize)size
withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
<强>参数强>
size - 容器视图的新大小。
coordinator - 管理大小的转换协调器对象 更改。您可以使用此对象为更改设置动画或获取 有关正在进行的过渡的信息。
<强>讨论强>
UIKit在更改显示视图的大小之前调用此方法 控制器的观点。您可以在自己的对象中覆盖此方法 并使用它来执行与大小更改相关的其他任务。对于 例如,容器视图控制器可能使用此方法来覆盖 嵌入式子视图控制器的特性。使用提供的 协调器对象,用于为您所做的任何更改设置动画。
如果您在自定义视图控制器中重写此方法,请始终 在你的实现中的某个时刻调用super,以便UIKit可以 适当地转发尺寸变化信息。查看控制器 将大小更改消息转发到其视图和子视图 控制器。演示控制器将尺寸变更转发给他们 提出了视图控制器。
用户界面旋转后发送到视图控制器。
弃用声明
使用viewWillTransitionToSize:withTransitionCoordinator:来制作 基于界面的调整。
<强>声明强>
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
<强>参数强>
fromInterfaceOrientation - 用户界面的旧方向。 有关可能的值,请参阅UIInterfaceOrientation。
<强>讨论强>
子类可以覆盖此方法以执行其他操作 轮换后立即。例如,您可以使用此方法 重新启用视图交互,再次启动媒体播放或打开 昂贵的绘图或实时更新。到调用此方法时, interfaceOrientation属性已设置为new 取向。您对此方法的实现必须调用super at 在执行过程中的某一点。
无论您的代码是否执行,都会调用此方法 一步或两步旋转。
来源 - UIKit Framework Reference(希望这对您有帮助)