长话短说,我正在尝试更改我的 iOS 应用的rootViewController
on applicationWillEnterForeground:
,如下所示:
- (void)applicationWillEnterForeground:(UIApplication *)application
{
MyViewController *controller = [[MyViewController alloc] init];
self.window.rootViewController = controller;
}
但是,当 iOS 执行当应用程序从后台移动到前台时执行的“放大”动画时,它仍然显示先前rootViewController
的视图。然后,一旦动画完成,应用程序就会将新rootViewController
的视图爆炸到屏幕上。
解决此问题的一种方法是简单地将代码移至- (void)applicationDidEnterBackground:
,但此解决方案的问题是,在我的应用程序中,无法判断是否rootViewController
会分配新的直到- (void)applicationWillEnterForeground:(UIApplication *)application
(它基于离开应用程序后经过的时间)。
在iOS执行将应用程序从后台带到前台的动画之前,如何强制应用程序重绘?