ios - 从后台打开后检测应用何时完成加载

标签 ios objective-c sleep background-process exit

首次打开我的应用程序时,加载时间较长,因此我可以显示加载屏幕。当用户通过单击主屏幕按钮退出应用程序然后重新打开它时(不再调用viewDidLoad / viewDidAppear方法),该应用程序有另一个加载期,我猜它正在“唤醒”。

我可以使用哪种方法来检测用户按下主屏幕按钮以将应用程序发送到后台,并且可以使用哪种方法来检测该应用程序已从后台恢复?

这应该足以提供我的加载屏幕,但以防万一。是否还有一种方法可以检测“恢复”后加载何时完成?

最佳答案

您可以注册UIApplicationWillEnterForegroundNotification的通知。在那里您可以做您的工作。

- (void)viewDidLoad
{
[super viewDidLoad];

// Register for the notifcation 
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(refreshView) name:UIApplicationWillEnterForegroundNotification object:nil];  

}  

-(void)refreshView
{
/* 
 Invoked when application enters foreground. Do your stuff

 */   

 }  

删除观察者
-(void)dealloc
{
  [[NSNotificationCenter defaultCenter] removeObserver:self];
  [super  dealloc];
}

关于ios - 从后台打开后检测应用何时完成加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14907027/

相关文章:

ios - UIDynamics 和自动布局

objective-c - iOS7 : how to set navigationItem property of UISearchDisplayController?

c++ - 线程和 sleep

ios - NSException 的终止异常类型

ios - 尝试解开 Realm 对象时出错

ios - EVReflection + Moya + Realm + RxSwift - 无法为类型 dict 创建实例

iOS 11 Xcode 9 : CoreML linker command failed with exit code 1 (use -v to see invocation)

android - 如何显示屏幕已锁定?

python - 为什么 time.sleep() 准确性受 Chrome 影响?

ios - WebRTC iOS仅限音频调用的媒体约束