【问题标题】:Setting the explicit screenOrientation on a UIViewController for testing purposes为测试目的在 UIViewController 上设置显式 screenOrientation
【发布时间】:2014-01-31 07:54:59
【问题描述】:

我正在UIViewController 上编写测试。该测试的目的是测试仅在设备处于纵向模式时触发的状态。是否有(相对)简单的方法将“方向”设置为纵向以确保进行所需的代码调用?

【问题讨论】:

    标签: ios unit-testing uiviewcontroller screen-orientation


    【解决方案1】:

    有两种私有的UIApplication 方法:rotateIfNeeded:rotateIfNeeded:completion:,您可以在测试期间使用它们。

    确保使用 #ifdef 语句包装调用,这样它们就不会进入分发构建。

    【讨论】:

    • 谢谢,非常有趣的东西,但我猜我无法让它在测试环境中工作(这很常见)。我检查UIApplication 是否处于横向状态,如果是,则调用[[UIApplication sharedApplication] rotateIfNeeded:0];。方向仍然报告横向...
    • @nickfalk:我猜你应该将UIDeviceOrientation 传递给这个方法。 0 是UIDeviceOrientationUnknown,试试[[UIApplication sharedApplication] rotateIfNeeded:UIDeviceOrientationPortrait];
    • 谢谢,试过了,还是不行。在没有大量开销的情况下执行此操作似乎是一个失败的原因,不过感谢您的洞察力。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2020-03-16
    相关资源
    最近更新 更多