iOS15 上 rootViewController 替换 vc 不生效

iOS15 替换 rootViewController 失败, 在 iOS15 之前没有发现该问题。

  [UIApplication sharedApplication].keyWindow.rootViewController = vc;

最后我发现延迟 0.1 秒后可以正常显示。

   double delayInSeconds = 0.1;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        TabBarViewController *tabbar = [[TabBarViewController alloc] init];
        UIWindow *nWindow;
        if (@available(iOS 13.0, *)) {
            nWindow = [UIApplication sharedApplication].windows[0];
        } else {
            nWindow = [UIApplication sharedApplication].delegate.window;
        }
        [nWindow setRootViewController:tabbar];
    });
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容