即使按下电源按钮,viewWillTransitionToSize也会调用

时间:2016-05-16 11:42:37

标签: objective-c ios9

当我的应用程序正在运行时,我按下电源按钮(要锁定设备),此功能正在调用。

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

使用

返回当前状态UIApplicationStateActive
[UIApplication sharedApplication].applicationState

如何防止调用此功能?或者如果按下电源按钮怎么忽略?因为我不想对powerButton按键执行任何操作。

前提条件:应该存在启动屏幕。

2 个答案:

答案 0 :(得分:1)

由于多任务的新功能,此功能可以调用应用程序最小化和按下电源按钮 您可以全屏显示应用程序以解决此问题。

检查✓ Requires full screen

enter image description here

但这不是正确的解决方案,因为在某些情况下你必须采用多任务处理。

答案 1 :(得分:0)

我调查过这种行为。这似乎只发生在iPad上,也许它与分割视图功能有关。

尝试通过在方法的开头添加来忽略方法内部运行的代码:

if([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) {
return;
}

更新:

我找到了这个问题的原因。

按下&#34;电源&#34;按钮,应用程序窗口更改其大小,有时它会在应用程序设置正确的applicationState之前发生:

enter image description here enter image description here

这个方法调用的原因。 抱歉我的英文=)