即使我按下电源按钮,也会调用 viewWillTransitionToSize
viewWillTransitionToSize called even if i press power button
当我的应用程序 运行 并且我按下电源按钮(锁定设备)时,此函数正在调用。
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
并使用
返回当前状态UIApplicationStateActive
[UIApplication sharedApplication].applicationState
如何防止调用这个函数?或者如果按下电源按钮如何忽略?因为我不想在按下 powerButton 时执行任何操作。
前提条件:启动屏幕应该存在。
我调查了这种行为。好像只有iPad才会出现这种情况,可能跟分屏功能有关
尝试通过在方法开头添加来忽略方法中的代码 运行:
if([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) {
return;
}
更新:
我找到了这个问题的原因。
当您按下 "power" 按钮时,应用程序 window 会更改其大小,有时会在应用程序设置正确的 applicationState 之前发生:
这就是调用此方法的原因。
对不起我的英语=)
由于多任务处理的新功能,此功能调用应用程序最小化和电源按钮按下。
你可以让你的应用程序全屏来解决这个问题。
检查 ✓ Requires full screen
但这不是正确的解决方案,因为在某些情况下您必须采用多任务处理。
当我的应用程序 运行 并且我按下电源按钮(锁定设备)时,此函数正在调用。
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
并使用
返回当前状态UIApplicationStateActive
[UIApplication sharedApplication].applicationState
如何防止调用这个函数?或者如果按下电源按钮如何忽略?因为我不想在按下 powerButton 时执行任何操作。
前提条件:启动屏幕应该存在。
我调查了这种行为。好像只有iPad才会出现这种情况,可能跟分屏功能有关
尝试通过在方法开头添加来忽略方法中的代码 运行:
if([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) {
return;
}
更新:
我找到了这个问题的原因。
当您按下 "power" 按钮时,应用程序 window 会更改其大小,有时会在应用程序设置正确的 applicationState 之前发生:
这就是调用此方法的原因。 对不起我的英语=)
由于多任务处理的新功能,此功能调用应用程序最小化和电源按钮按下。
你可以让你的应用程序全屏来解决这个问题。
检查 ✓ Requires full screen
但这不是正确的解决方案,因为在某些情况下您必须采用多任务处理。