AdColony + SVProgressHUD Conflict

Я испытываю странное поведение при интеграции библиотеки AdColony 2.2.4 с приложением, использующим SVProgressHUD. Если стандартный вызов конфигурации сделан в делегате приложения...

[AdColony configureWithAppID:kAdColonyAppID zoneIDs:@[kAdColonyZoneID] delegate:nil logging:true];

SVProgressHUD больше не появляется в приложении, вызывая

[SVProgressHUD showWithStatus@"Status..."];

Простое комментирование вызова configureCithAppID в AdColony приводит к нормальной работе SVProgressHUD. Кто-нибудь еще сталкивался с этим или нашел способ заставить их обоих работать в одном приложении?

3 ответа

Решение

Похоже, что код SVProgressHUD выполняет проверку в строке 436, которая не учитывает, что в существовании может быть несколько UIWindows, принадлежащих к уровню UIWindowLevelNormal. Следствием этого является то, что представление HUD добавляется в неправильное окно. Чтобы заставить SVProgressHUD работать, вы можете изменить цикл for, начинающийся в строке 436, следующим образом:

for (UIWindow *window in frontToBackWindows) {
    if (window.keyWindow) {
        [window addSubview:self.hudView];
        break;
    }
}

Пожалуйста, не стесняйтесь обращаться к нам (support@adcolony.com) с любыми дополнительными вопросами интеграции, которые могут у вас возникнуть.

Это работает для меня, я добавил структуру adcolony, поэтому сообщения об успехе для SVProgress hud не показывались: я комментирую код:

//        for (UIWindow *window in frontToBackWindows)
//            if (window.windowLevel == UIWindowLevelNormal) {
//                [window addSubview:self.overlayView];
//                break;
//            }

и заменить на

for (UIWindow *window in frontToBackWindows) {
            if (window.keyWindow) {
                [window addSubview:self.hudView];
                break;
            }
        }

Так что работает,.. . Спасибо

Самый простой способ, который работал для меня, это

[[[UIApplication sharedApplication] keyWindow] addSubview:self. overlayView];

Это выполняет то же действие, что и принятый ответ.

Другие вопросы по тегам