Apple не выдвигает [задокументированное] уведомление об этом, поэтому вам нужно немного запутаться.
Способ, которым я делаю это, - проверять окно ключа приложения.Я получил идею от здесь .
в вашем .h файле, отследите ваш таймер и желаемое окно ключа:
NSTimer *windowTimer;
UIWindow *keyWindow;
в вашем файле .m,вам нужно следующее:
- (void)viewDidLoad {
[super viewDidUnload];
keyWindow = [[UIApplication sharedApplication] keyWindow];
}
Затем отредактируйте ваш метод делегата и добавьте один новый метод:
- (void)webViewDidFinishLoad:(UIWebView *)_webView {
UIButton *b = [self findButtonInView:_webView];
[b sendActionsForControlEvents:UIControlEventTouchUpInside];
// start checking the current keyWindow
windowTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(checkWindowStatus) userInfo:nil repeats:YES];
}
- (void) checkWindowStatus {
// if the key window is back to our application
if (keyWindow == [[UIApplication sharedApplication] keyWindow]) {
[windowTimer invalidate];
windowTimer = nil;
... window has dismissed, do your thing ...
}
}