【发布时间】:2016-01-04 19:16:57
【问题描述】:
从 iOS 9 开始,当应用进入后台或处于非活动状态时,viewWillTransitionToSize:withTransitionCoordinator: 方法似乎被多次调用。
例如,如果应用程序在 iPad 上处于纵向状态,则按主页按钮将导致应用程序首先接收大小为 1024x768(横向)的方法调用,然后是 768x1024(返回纵向)。这让我得出结论,iOS 这样做是为了获取应用切换器的屏幕截图。
我们的应用程序逻辑取决于屏幕尺寸,并且屏幕尺寸的变化会触发任务,这些任务会根据新尺寸更新我们的模型。当用户旋转设备或进入多任务模式(拆分视图)时我们需要这样做,但当用户进入后台时我们不能这样做。
一个想法是使用 UIApplicationWillResignActiveNotification 通知,但结果证明这是不可能完成的任务,因为有时viewWillTransitionToSize:withTransitionCoordinator: 在发送通知之前被调用,有时它在通知发送后被调用:/
有什么想法吗?
【问题讨论】:
标签: ios cocoa-touch uikit ios9