检查iOS设备方向

时间:2015-02-26 12:07:18

标签: ios iphone ipad xcode6

每次iOS设备更改方向时,我都需要获取iOS设备的方向,记住不是在启动应用程序时或在加载时,对于我需要注册的每次设备更改方向。

2 个答案:

答案 0 :(得分:2)

您必须倾听/观察/观察设备方向更改UIDeviceOrientationDidChangeNotification

查看相同的question here

答案 1 :(得分:0)

根据每次设备方向更改时调用的方法调用的苹果UIKit Framework Reference

适用于iOS8及更高版本

通知容器其视图的大小即将更改。 (所需的)

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

<强>参数

  

size - 容器视图的新大小。

     

coordinator - 管理大小的转换协调器对象   更改。您可以使用此对象为更改设置动画或获取   有关正在进行的过渡的信息。

<强>讨论

  

UIKit在更改显示视图的大小之前调用此方法   控制器的观点。您可以在自己的对象中覆盖此方法   并使用它来执行与大小更改相关的其他任务。对于   例如,容器视图控制器可能使用此方法来覆盖   嵌入式子视图控制器的特性。使用提供的   协调器对象,用于为您所做的任何更改设置动画。

     

如果您在自定义视图控制器中重写此方法,请始终   在你的实现中的某个时刻调用super,以便UIKit可以   适当地转发尺寸变化信息。查看控制器   将大小更改消息转发到其视图和子视图   控制器。演示控制器将尺寸变更转发给他们   提出了视图控制器。

适用于iOS2至iOS8

用户界面旋转后发送到视图控制器。

弃用声明

  

使用viewWillTransitionToSize:withTransitionCoordinator:来制作   基于界面的调整。

<强>声明

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

<强>参数

  

fromInterfaceOrientation - 用户界面的旧方向。   有关可能的值,请参阅UIInterfaceOrientation。

<强>讨论

  

子类可以覆盖此方法以执行其他操作   轮换后立即。例如,您可以使用此方法   重新启用视图交互,再次启动媒体播放或打开   昂贵的绘图或实时更新。到调用此方法时,   interfaceOrientation属性已设置为new   取向。您对此方法的实现必须调用super at   在执行过程中的某一点。

     

无论您的代码是否执行,都会调用此方法   一步或两步旋转。

来源 - UIKit Framework Reference(希望这对您有帮助)