首次打开我的应用时,加载时间很长,因此我可以显示加载屏幕。当用户通过单击主页按钮退出应用程序然后重新打开它(viewDidLoad
/ viewDidAppear
方法不再被调用)应用程序有另一个加载期间,我猜它正在“醒来” ”
我可以使用哪种方法来检测用户点击主页按钮以将应用程序发送到后台,以及我可以使用哪种方法来检测应用程序是否已从后台恢复?
这应该足以正确提供我的加载屏幕,但只是在案例中。是否还有一种方法可以检测“复兴”后装载何时结束?
答案 0 :(得分:2)
您可以注册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];
}
答案 1 :(得分:2)
Albert你可以检测到在AppDelegate中声明的这两个方法的主页按钮
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
这些是您可以使用的通知
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(setFlag:)
name: UIApplicationWillResignActiveNotification
object: [UIApplication sharedApplication]];
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(setFlag1:)
name: UIApplicationDidEnterBackgroundNotification
object: [UIApplication sharedApplication]];