Open tzhanbaobei opened 8 years ago
Storyboard还是LaunchImage? 方便贴下代码吗?
遇到同样的问题
图片如果是通过afn请求来的,就会出现闪现一下根视图,再出现启动图,我吧afn请求并到了初始化启动图的方法里,还是有这种问题
确实存在:会先显示一下根控制器,因为你addsubview是在异步导致的,代码改成如下就好了,还有使用时候需要把初始化放在初始化window.rootViewController 之前:
-(void)addInWindow{
//监测DidFinished通知
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidFinishLaunchingNotification object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) {
//等DidFinished方法结束后,将其添加至window上(不然会检测是否有rootViewController)
[[[UIApplication sharedApplication].delegate window] performSelectorOnMainThread:@selector(addSubview:) withObject:self waitUntilDone:YES];
// dispatch_async(dispatch_get_main_queue(), ^{//用上面的方法添加,不要使用异步
// [[[UIApplication sharedApplication].delegate window] addSubview:self];
// });
}];
}
怎么解决这个问题,能完整给出代码吗
作者回答的很清楚喽,就是将addInWindow方法内原本异步加载的改为阻塞当前线程
我网上请求数据的时候就不走这个方法了,如果是本地的图就没问题
@koshuijuduo123 不用阻塞,按我的方法,亲测有效
刚进来会先显示一下根控制器显示广告,应该先显示广告页再跳进根控制器