原理其实很简单就是服务器放上两张图片,根据是否是暗黑模式来加载图片,问题就是如果在当前页面切换成暗黑模式如何更换图片,其实就是监听从后台切换到前台,
正常情况下,AppDelegate中实现下面两个方法,能够监听从后台恢复到前台.
- (void)applicationDidEnterBackground:(UIApplication *)application {
NSLog(@"---applicationDidEnterBackground----"); //进入后台
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"---applicationDidBecomeActive----"); //进入前台
}
如果想要对单独的视图控制器(UIViewController)监听需要在-viewDidLoad方法中,添加一下监听notification
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(changeMethod:)
name:UIApplicationDidBecomeActiveNotification
object:nil];
记得在dealloc中移除通知,接下来的操作就是在changeMethod:方法里。