为什么当应用程序从后台返回时,不会调用viewWillAppear?
我正在编写一个应用程序,如果用户在通话时查看应用程序,我需要更改视图。
我已经实现了以下方法:
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; NSLog(@"viewWillAppear:"); _sv.frame = CGRectMake(0.0, 0.0, 320.0, self.view.bounds.size.height);}
但是,当应用程序返回到前台时,它不会被调用。
我知道我可以实现:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarFrameChanged:) name:UIApplicationDidChangeStatusBarFrameNotification object:nil];
但我不想这样做。我宁愿将所有布局信息放在viewWillAppear:方法中,让它处理所有可能的场景。
我甚至试图从applicationWillEnterForeground:调用viewWillAppear:但我似乎无法确定当前哪个是当前的视图控制器。
有人知道处理这个问题的正确方法吗?我确定我错过了一个明显的解决方案。
杨__羊羊
慕桂英546537