Я создаю UIImageView, после чего я осмыслил его размытое изображение в ApplicationDidLaunch. Это ImageView перекрывает весь экран и предназначен, чтобы покрыть подстилающий контроллер представленияRemoveFromSuperView UIImageView в ApplicationDidLaunch выполняется с задержкой
UIImage *captureImage = [self captureView:tabBar.view];
backgroundImage.image = [captureImage applyExtraLightEffect];
backgroundImage.frame = [[UIScreen mainScreen] applicationFrame];
[tabBar.view addSubview:backgroundImage];
Тогда я попросить сенсорные ID, который показывает красиво. Если аутентификация прошла успешно TouchID я хочу, чтобы удалить фоновое изображение с хорошей FADEOUT анимацией
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:@"Are you the device owner?"
reply:^(BOOL success, NSError *error) {
if (error) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"There was a problem verifying your identity."
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
exit(0);
return;
}
if (success) {
NSLog(@"Passcode via TOUCH ID entered OK");
[UIView animateWithDuration:0.5
animations:^{backgroundImage.alpha = 0;}
completion:^(BOOL finished){[[tabBar.view viewWithTag:13] removeFromSuperview];; }];
// [UIView setAnimationDidStopSelector:@selector(startupAnimationDone:finished:context:)];
[UIView setAnimationDelegate:self];
}
Теперь моя проблема заключается в том, что код запускается на выполнение сразу, но удаление кадра BackgroundImage занимает как 5-10 секунд выполнить. Это происходит на всех моих iDevices. Я не понимаю, почему существует задержка перед удалением супервизора. Кто-нибудь знает?
Спасибо, что исправил мою проблему !! –