【发布时间】:2014-01-31 07:54:59
【问题描述】:
我正在UIViewController 上编写测试。该测试的目的是测试仅在设备处于纵向模式时触发的状态。是否有(相对)简单的方法将“方向”设置为纵向以确保进行所需的代码调用?
【问题讨论】:
标签: ios unit-testing uiviewcontroller screen-orientation
我正在UIViewController 上编写测试。该测试的目的是测试仅在设备处于纵向模式时触发的状态。是否有(相对)简单的方法将“方向”设置为纵向以确保进行所需的代码调用?
【问题讨论】:
标签: ios unit-testing uiviewcontroller screen-orientation
有两种私有的UIApplication 方法:rotateIfNeeded: 和rotateIfNeeded:completion:,您可以在测试期间使用它们。
确保使用 #ifdef 语句包装调用,这样它们就不会进入分发构建。
【讨论】:
UIApplication 是否处于横向状态,如果是,则调用[[UIApplication sharedApplication] rotateIfNeeded:0];。方向仍然报告横向...
UIDeviceOrientation 传递给这个方法。 0 是UIDeviceOrientationUnknown,试试[[UIApplication sharedApplication] rotateIfNeeded:UIDeviceOrientationPortrait];