Usando Objective-C
Você deve registrar um UIApplicationWillEnterForegroundNotification
na sua ViewController
's viewDidLoad
método e sempre aplicativo vem de volta do fundo você pode fazer o que quer fazer no método registrado para notificação. ViewController
O viewWillAppear ou o viewDidAppear não serão chamados quando o aplicativo voltar do segundo plano para o primeiro plano.
-(void)viewDidLoad{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doYourStuff)
name:UIApplicationWillEnterForegroundNotification object:nil];
}
-(void)doYourStuff{
// do whatever you want to do when app comes back from background.
}
Não se esqueça de cancelar o registro da notificação para a qual você está registrado.
-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
Nota se você registrar o seu viewController
para UIApplicationDidBecomeActiveNotification
, em seguida, o seu método seria chamado cada vez que seu aplicativo se torna ativo, não é recomendado para registrar viewController
para esta notificação.
Usando Swift
Para adicionar observador, você pode usar o seguinte código
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: "doYourStuff", name: UIApplication.willEnterForegroundNotification, object: nil)
}
func doYourStuff(){
// your code
}
Para remover o observador, você pode usar a função deinit de swift.
deinit {
NotificationCenter.default.removeObserver(self)
}