Я только что столкнулся с этой же проблемой. Проблема для меня заключалась в том, что мой ключ окна UIApplication имел userInteractionEnabled = NO. Поэтому отсутствие этого дополнительного UIWindow исправило его для меня (подробнее ниже).
Я нашел этот код в FBDialog.m
- (void)showWebView {
UIWindow* window = [UIApplication sharedApplication].keyWindow;
if (!window) {
window = [[UIApplication sharedApplication].windows objectAtIndex:0];
}
_modalBackgroundView.frame = window.frame;
[_modalBackgroundView addSubview:self];
[window addSubview:_modalBackgroundView];
....
так что это добавит диалог к ключевому окну. У меня было только одно окно, поэтому я подумал. Оказывается, SVProgressHUD создаст новое окно с отключенным взаимодействием с пользователем и сделает его ключевым (имеет смысл).
Я предполагаю, что другие вещи в стиле HUD делают это с. Я только показывал HUD, когда была сделана некоторая подготовительная работа, так что к тому времени, когда я смогу показать диалог, я все равно смогу удалить его. Так что это было мое решение.
Я выкопал это, позвонив
NSLog(@"%@", [[UIApplication sharedApplication] windows]);
NSLog(@"%@", [UIApplication sharedApplication].keyWindow);
прямо перед тем, как я собирался показать диалог и заметил
- У меня было два UIWindow
- ключ userInteractionEnabled был установлен на NO
Надеюсь, это поможет.