将AdColony的2.2.4库与使用SVProgressHUD的应用程序集成时,我遇到了一些奇怪的行为。如果在app delegate ...
中进行标准配置调用[AdColony configureWithAppID:kAdColonyAppID zoneIDs:@[kAdColonyZoneID] delegate:nil logging:true];
通过调用
,不再在应用程序中弹出SVProgressHUD[SVProgressHUD showWithStatus@"Status..."];
简单地注释掉AdColony configureWithAppID调用会导致SVProgressHUD再次正常运行。有没有其他人遇到这个,或者找到了让它们在同一个应用程序中工作的方法?
答案 0 :(得分:3)
看起来SVProgressHUD代码正在对第436行进行检查,但没有考虑到存在属于UIWindowLevelNormal级别的多个UIWindows。这样做的结果是HUD视图被添加到错误的窗口。为了使SVProgressHUD正常工作,您可以修改从第436行开始的for循环,如下所示:
for (UIWindow *window in frontToBackWindows) {
if (window.keyWindow) {
[window addSubview:self.hudView];
break;
}
}
如果您有任何进一步的集成问题,请随时与我们联系(support@adcolony.com)。
答案 1 :(得分:0)
它适用于我,我添加了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;
}
}
所以它有效,..谢谢
答案 2 :(得分:0)
对我有用的最简单方法是
[[[UIApplication sharedApplication] keyWindow] addSubview:self. overlayView];
这会对接受的答案执行相同的操作。