配置黑色启动图后,在ios11中能够明显看见闪了一下白屏。(iOS10没有这个现象)
求大神指点解决办法,感谢
配置黑色启动图后,在ios11中能够明显看见闪了一下白屏。(iOS10没有这个现象)
求大神指点解决办法,感谢
回复 1***@163.com:可按照如下步骤处理
1 AppDelegate.m 文件中- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions方法修改如下
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
BOOL ret = [PDRCore initEngineWihtOptions:launchOptions
withRunMode:PDRCoreRunModeNormal];
#ifdef dcSplashAd
// 获取广告所在的VC对象,如果对象存在说明可以显示广告,否则不显示splash广告
DCH5ScreenAdvertising *adViewContoller = [DCSplashAdObserver splashAdViewController];
if(adViewContoller){
// 显示splash广告必须使用NavigationController作为当前应用的RootController,否则广告无法显示
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:_window.rootViewController];
navigationController.navigationBarHidden = YES;
_window.rootViewController = navigationController;
[navigationController pushViewController:adViewContoller animated:NO];
// 必须监听当前广告关闭的事件,在事件触发时弹出当前的SplashAdVC,显示5+所在的VC
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(splashAdScreenWillClose) name:kDCSplashScreenCloseEvent object:nil];
}else{
dispatch_async(dispatch_get_main_queue(), ^(void) {
[[PDRCore Instance] showLoadingPage];
[[PDRCore Instance] start];
});
}
#endif
return ret;
}
2 ViewController.m文件的- (void)loadView方法修改如下
- (void)loadView
{
PDRCore *h5Engine = [PDRCore Instance];
[super loadView];
[self setStatusBarStyle:h5Engine.settings.statusBarStyle];
_isFullScreen = [UIApplication sharedApplication].statusBarHidden;
if ( _isFullScreen != h5Engine.settings.fullScreen ) {
_isFullScreen = h5Engine.settings.fullScreen;
if ( [self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)] ) {
[self setNeedsStatusBarAppearanceUpdate];
} else {
[[UIApplication sharedApplication] setStatusBarHidden:_isFullScreen];
}
}
h5Engine.coreDeleagete = self;
[h5Engine setContainerView:self.view];
h5Engine.persentViewController = self;
[[PDRCore Instance] showLoadingPage];
dispatch_async(dispatch_get_main_queue(), ^{
[[PDRCore Instance] start];
});
}
1***@163.com (作者)
感谢大神的回答!
但是我目前遇到的问题是:
1、只是把官方最新的支持iphoneX的SDK(IOS-SDK@1.9.9.42697_20180309)给出的demo中的启动图换成了黑色的图片,启动时,会发现在启动图上闪了一下,现在发现ios10和ios11都有这个问题,只是在ios11上是必现,ios10上是偶现。
2、我用不支持iphoneX的SDK(IOS-SDK@1.9.9.38472_20171031-2)把启动图更换为黑色图片,就不存在这个问题。
3、我试过把启动的index.html不写任何内容,单纯把它的背景颜色设置为黑色,这样应该就不存在网络请求,页面绘制慢的问题,但是还是会在启动图上闪一下。(并不是启动图消失后才闪白屏,是在启动图上闪,闪完还是在启动图上,之后启动图才消失。)
4、我发现直接用最新的支持iphoneX的SDK例子运行,5+的图标也会闪一下,只是整体界面是白色的,现象不明显。
还请大神再帮忙看一下,万分感谢
2018-04-11 16:59
1***@163.com (作者)
感谢大神!按照你说的操作修改后,问题解决了。
2018-04-13 17:53