我正在构建一个应用程序,并且在一个特定的viewController
我要禁用睡眠模式。
我有3个问题:
我在特定视图控制器的viewDidLoad
方法中使用此代码:
UIApplication.sharedApplication().idleTimerDisabled = true
阅读以前有关此问题的问题,我确信这是正确的代码。 但这是代码中正确的“位置”吗?
我是否应该在其他视图控制器上使用以下代码(或者这不是必需的,它是否会默认为?):
UIApplication.sharedApplication().idleTimerDisabled = false
在模拟器中我使用硬件 - >锁定以模拟锁屏。你认为这总是会锁定屏幕吗?或者,如果我的代码正确,它是否会锁定(睡眠模式)我的应用程序在特定的视图控制器上? (现在它只是将它锁定在模拟器中)。如何模拟用户的空闲时间?
答案 0 :(得分:6)
您想要在viewDidLoad
UIApplication.sharedApplication().idleTimerDisabled = true
当你的ViewController消失时,你想要重新启用idleTimer,所以把它放在viewDidDisappear
UIApplication.sharedApplication().idleTimerDisabled = false
您可以通过按电源按钮手动锁定屏幕,这是从模拟器手动锁定屏幕时发生的情况。执行此操作时,您的视图将消失,因此应禁用idleTimer。您可以通过在viewDidDisappear
中添加打印语句来测试这种情况。
在iOS中设置idleTimer的方式是Settings->General->Auto-Lock
并指定在屏幕锁定之前应该经过的时间长度。最短的间隔是1分钟。如果您不管它而不按电源按钮,则应禁用idleTimer。