После закрытия UIAlert мой экран перестает отвечать на запросы IOSIOS

Программируем под IOS
Ответить
Anonymous
 После закрытия UIAlert мой экран перестает отвечать на запросы IOS

Сообщение Anonymous »

Если экран идеален в течение 5 минут, я устанавливаю автоматический выход из системы, он работает отлично, но когда появляется диалоговое окно UIAlert, происходит выход из системы, но предупреждение остается на экране входа в систему. Вот мой код, чтобы закрыть диалоговое окно с предупреждением перед выходом из системы:

Код: Выделить всё

- (void)dismissAnyAlertControllerIfPresent {
UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
UIViewController *topVC = keyWindow.rootViewController.presentedViewController;

while (topVC.presentedViewController != nil) {
topVC = topVC.presentedViewController;
}

if ([topVC isKindOfClass:[UIAlertController class]]) {
[topVC dismissViewControllerAnimated:NO completion:nil];
}
}

- (void)didLogout {
[self dismissAnyAlertControllerIfPresent];

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs removeObjectForKey:@"userName"];

[prefs synchronize];

// Redirect to login page
[self redirectToLoginPage];
}

- (void)redirectToLoginPage {
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
BmobileViewController * login = [storyboard instantiateViewControllerWithIdentifier:@"login"] ;
login.hideBackbtn = YES;
login.hideAutoLogoutMsg = YES;
login.modalPresentationStyle =  UIModalPresentationFullScreen;
[self presentViewController:login animated:YES completion:nil];
}
else
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPad" bundle:nil];
BmobileViewController * login = [storyboard   instantiateViewControllerWithIdentifier:@"login"] ;
login.hideBackbtn = YES;
login.hideAutoLogoutMsg = YES;
login.modalPresentationStyle =  UIModalPresentationFullScreen;
[self presentViewController:login animated:YES completion:nil];
}
}
При запуске этого кода, который должен закрыть диалоговое окно предупреждения, экран перестает отвечать на запросы:

Код: Выделить всё

if ([topVC isKindOfClass:[UIAlertController class]]) {
[topVC dismissViewControllerAnimated:NO completion:nil];
}
Если нет диалогового окна предупреждения об идеальном состоянии и экран входа в систему работает, я могу щелкать текстовые поля и т. д. Если я проверяю предупреждение об идеальном состоянии, экран выхода из системы не работает.
Я не могу щелкать текстовые поля на экране входа в систему.
Вопросы: Я прокомментировал код, который идет для экрана входа в систему, и просто проверил, что предупреждение закрыто. Оповещение закрывается на текущей странице, а также текущая страница перестает отвечать на запросы.
Я новичок в разработке IOS, поэтому просто дайте мне совет, как справиться с этой ошибкой, и заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/790 ... onsive-ios
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»